vxe-table 3.13.5 → 3.13.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/es/index.css +1 -1
- package/es/index.min.css +1 -1
- package/es/locale/lang/ar-EG.js +4 -2
- package/es/locale/lang/de-DE.js +4 -2
- package/es/locale/lang/en-US.js +4 -2
- package/es/locale/lang/es-ES.js +4 -2
- package/es/locale/lang/fr-FR.js +4 -2
- package/es/locale/lang/hu-HU.js +4 -2
- package/es/locale/lang/hy-AM.js +4 -2
- package/es/locale/lang/id-ID.js +4 -2
- package/es/locale/lang/it-IT.js +4 -2
- package/es/locale/lang/ja-JP.js +4 -2
- package/es/locale/lang/ko-KR.js +4 -2
- package/es/locale/lang/nb-NO.js +4 -2
- package/es/locale/lang/pt-BR.js +4 -2
- package/es/locale/lang/ru-RU.js +4 -2
- package/es/locale/lang/th-TH.js +4 -2
- package/es/locale/lang/ug-CN.js +4 -2
- package/es/locale/lang/uk-UA.js +4 -2
- package/es/locale/lang/vi-VN.js +4 -2
- package/es/locale/lang/zh-CHT.js +4 -2
- package/es/locale/lang/zh-CN.js +4 -2
- package/es/style.css +1 -1
- package/es/style.min.css +1 -1
- package/es/table/module/export/export-panel.js +7 -4
- package/es/table/module/export/mixin.js +2 -2
- package/es/table/module/filter/mixin.js +87 -79
- package/es/table/module/menu/mixin.js +2 -1
- package/es/table/src/methods.js +254 -220
- package/es/table/src/table.js +1 -1
- package/es/table/style.css +1 -1
- package/es/table/style.min.css +1 -1
- package/es/ui/index.js +1 -1
- package/es/ui/src/log.js +1 -1
- package/es/vxe-table/style.css +1 -1
- package/es/vxe-table/style.min.css +1 -1
- package/lib/index.css +1 -1
- package/lib/index.min.css +1 -1
- package/lib/index.umd.js +412 -379
- package/lib/index.umd.min.js +1 -1
- package/lib/locale/lang/ar-EG.js +4 -2
- package/lib/locale/lang/ar-EG.min.js +1 -1
- package/lib/locale/lang/de-DE.js +4 -2
- package/lib/locale/lang/de-DE.min.js +1 -1
- package/lib/locale/lang/en-US.js +4 -2
- package/lib/locale/lang/en-US.min.js +1 -1
- package/lib/locale/lang/en-US.umd.js +4 -2
- package/lib/locale/lang/es-ES.js +4 -2
- package/lib/locale/lang/es-ES.min.js +1 -1
- package/lib/locale/lang/es-ES.umd.js +4 -2
- package/lib/locale/lang/fr-FR.js +4 -2
- package/lib/locale/lang/fr-FR.min.js +1 -1
- package/lib/locale/lang/hu-HU.js +4 -2
- package/lib/locale/lang/hu-HU.min.js +1 -1
- package/lib/locale/lang/hu-HU.umd.js +4 -2
- package/lib/locale/lang/hy-AM.js +4 -2
- package/lib/locale/lang/hy-AM.min.js +1 -1
- package/lib/locale/lang/id-ID.js +4 -2
- package/lib/locale/lang/id-ID.min.js +1 -1
- package/lib/locale/lang/it-IT.js +4 -2
- package/lib/locale/lang/it-IT.min.js +1 -1
- package/lib/locale/lang/ja-JP.js +4 -2
- package/lib/locale/lang/ja-JP.min.js +1 -1
- package/lib/locale/lang/ja-JP.umd.js +4 -2
- package/lib/locale/lang/ko-KR.js +4 -2
- package/lib/locale/lang/ko-KR.min.js +1 -1
- package/lib/locale/lang/ko-KR.umd.js +4 -2
- package/lib/locale/lang/nb-NO.js +4 -2
- package/lib/locale/lang/nb-NO.min.js +1 -1
- package/lib/locale/lang/pt-BR.js +4 -2
- package/lib/locale/lang/pt-BR.min.js +1 -1
- package/lib/locale/lang/pt-BR.umd.js +4 -2
- package/lib/locale/lang/ru-RU.js +4 -2
- package/lib/locale/lang/ru-RU.min.js +1 -1
- package/lib/locale/lang/ru-RU.umd.js +4 -2
- package/lib/locale/lang/th-TH.js +4 -2
- package/lib/locale/lang/th-TH.min.js +1 -1
- package/lib/locale/lang/ug-CN.js +4 -2
- package/lib/locale/lang/ug-CN.min.js +1 -1
- package/lib/locale/lang/uk-UA.js +4 -2
- package/lib/locale/lang/uk-UA.min.js +1 -1
- package/lib/locale/lang/uk-UA.umd.js +4 -2
- package/lib/locale/lang/vi-VN.js +4 -2
- package/lib/locale/lang/vi-VN.min.js +1 -1
- package/lib/locale/lang/zh-CHT.js +4 -2
- package/lib/locale/lang/zh-CHT.min.js +1 -1
- package/lib/locale/lang/zh-CHT.umd.js +4 -2
- package/lib/locale/lang/zh-CN.js +4 -2
- package/lib/locale/lang/zh-CN.min.js +1 -1
- package/lib/locale/lang/zh-CN.umd.js +4 -2
- package/lib/style.css +1 -1
- package/lib/style.min.css +1 -1
- package/lib/table/module/export/export-panel.js +7 -4
- package/lib/table/module/export/export-panel.min.js +1 -1
- package/lib/table/module/export/mixin.js +2 -2
- package/lib/table/module/export/mixin.min.js +1 -1
- package/lib/table/module/filter/mixin.js +105 -99
- package/lib/table/module/filter/mixin.min.js +1 -1
- package/lib/table/module/menu/mixin.js +2 -1
- package/lib/table/module/menu/mixin.min.js +1 -1
- package/lib/table/src/methods.js +289 -268
- package/lib/table/src/methods.min.js +1 -1
- package/lib/table/src/table.js +1 -1
- package/lib/table/src/table.min.js +1 -1
- package/lib/table/style/style.css +1 -1
- package/lib/table/style/style.min.css +1 -1
- package/lib/ui/index.js +1 -1
- package/lib/ui/index.min.js +1 -1
- package/lib/ui/src/log.js +1 -1
- package/lib/ui/src/log.min.js +1 -1
- package/lib/vxe-table/style/style.css +1 -1
- package/lib/vxe-table/style/style.min.css +1 -1
- package/package.json +2 -2
- package/packages/locale/lang/ar-EG.ts +4 -2
- package/packages/locale/lang/de-DE.ts +4 -2
- package/packages/locale/lang/en-US.ts +4 -2
- package/packages/locale/lang/es-ES.ts +4 -2
- package/packages/locale/lang/fr-FR.ts +4 -2
- package/packages/locale/lang/hu-HU.ts +4 -2
- package/packages/locale/lang/hy-AM.ts +4 -2
- package/packages/locale/lang/id-ID.ts +4 -2
- package/packages/locale/lang/it-IT.ts +4 -2
- package/packages/locale/lang/ja-JP.ts +4 -2
- package/packages/locale/lang/ko-KR.ts +4 -2
- package/packages/locale/lang/nb-NO.ts +4 -2
- package/packages/locale/lang/pt-BR.ts +4 -2
- package/packages/locale/lang/ru-RU.ts +4 -2
- package/packages/locale/lang/th-TH.ts +4 -2
- package/packages/locale/lang/ug-CN.ts +4 -2
- package/packages/locale/lang/uk-UA.ts +4 -2
- package/packages/locale/lang/vi-VN.ts +4 -2
- package/packages/locale/lang/zh-CHT.ts +4 -2
- package/packages/locale/lang/zh-CN.ts +4 -2
- package/packages/table/module/export/export-panel.ts +7 -4
- package/packages/table/module/export/mixin.ts +2 -2
- package/packages/table/module/filter/mixin.ts +85 -77
- package/packages/table/module/menu/mixin.ts +2 -1
- package/packages/table/src/methods.ts +271 -221
- package/packages/table/src/table.ts +1 -1
- package/styles/components/table.scss +1 -1
- /package/es/{iconfont.1740038065641.ttf → iconfont.1740188839037.ttf} +0 -0
- /package/es/{iconfont.1740038065641.woff → iconfont.1740188839037.woff} +0 -0
- /package/es/{iconfont.1740038065641.woff2 → iconfont.1740188839037.woff2} +0 -0
- /package/lib/{iconfont.1740038065641.ttf → iconfont.1740188839037.ttf} +0 -0
- /package/lib/{iconfont.1740038065641.woff → iconfont.1740188839037.woff} +0 -0
- /package/lib/{iconfont.1740038065641.woff2 → iconfont.1740188839037.woff2} +0 -0
package/es/table/src/methods.js
CHANGED
|
@@ -38,8 +38,9 @@ const setCustomStorageMap = (id, data) => {
|
|
|
38
38
|
maps._v = version;
|
|
39
39
|
localStorage.setItem(customStorageKey, XEUtils.toJSONString(maps));
|
|
40
40
|
};
|
|
41
|
-
const getRecoverRowMaps = (
|
|
42
|
-
const
|
|
41
|
+
const getRecoverRowMaps = ($xeTable, keyMaps) => {
|
|
42
|
+
const internalData = $xeTable;
|
|
43
|
+
const { fullAllDataRowIdData } = internalData;
|
|
43
44
|
const restKeys = {};
|
|
44
45
|
XEUtils.each(keyMaps, (row, rowid) => {
|
|
45
46
|
if (fullAllDataRowIdData[rowid]) {
|
|
@@ -48,8 +49,9 @@ const getRecoverRowMaps = (_vm, keyMaps) => {
|
|
|
48
49
|
});
|
|
49
50
|
return restKeys;
|
|
50
51
|
};
|
|
51
|
-
function handleReserveRow(
|
|
52
|
-
const
|
|
52
|
+
function handleReserveRow($xeTable, reserveRowMap) {
|
|
53
|
+
const internalData = $xeTable;
|
|
54
|
+
const { fullDataRowIdData } = internalData;
|
|
53
55
|
const reserveList = [];
|
|
54
56
|
XEUtils.each(reserveRowMap, (item, rowid) => {
|
|
55
57
|
if (fullDataRowIdData[rowid] && reserveList.indexOf(fullDataRowIdData[rowid].row) === -1) {
|
|
@@ -716,6 +718,215 @@ function updateStyle($xeTable) {
|
|
|
716
718
|
}
|
|
717
719
|
return $xeTable.$nextTick();
|
|
718
720
|
}
|
|
721
|
+
function handleRadioReserveRow($xeTable, row) {
|
|
722
|
+
const internalData = $xeTable;
|
|
723
|
+
const radioOpts = $xeTable.computeRadioOpts;
|
|
724
|
+
if (radioOpts.reserve) {
|
|
725
|
+
internalData.radioReserveRow = row;
|
|
726
|
+
}
|
|
727
|
+
}
|
|
728
|
+
function handleCheckboxReserveRow($xeTable, row, checked) {
|
|
729
|
+
const internalData = $xeTable;
|
|
730
|
+
const { checkboxReserveRowMap } = internalData;
|
|
731
|
+
const checkboxOpts = $xeTable.computeCheckboxOpts;
|
|
732
|
+
if (checkboxOpts.reserve) {
|
|
733
|
+
const rowid = getRowid($xeTable, row);
|
|
734
|
+
if (checked) {
|
|
735
|
+
checkboxReserveRowMap[rowid] = row;
|
|
736
|
+
}
|
|
737
|
+
else if (checkboxReserveRowMap[rowid]) {
|
|
738
|
+
delete checkboxReserveRowMap[rowid];
|
|
739
|
+
}
|
|
740
|
+
}
|
|
741
|
+
}
|
|
742
|
+
function handleCheckedRadioRow($xeTable, row, isForce) {
|
|
743
|
+
const reactData = $xeTable;
|
|
744
|
+
const radioOpts = $xeTable.computeRadioOpts;
|
|
745
|
+
const { checkMethod } = radioOpts;
|
|
746
|
+
if (row && (isForce || (!checkMethod || checkMethod({ row })))) {
|
|
747
|
+
reactData.selectRadioRow = row;
|
|
748
|
+
handleRadioReserveRow($xeTable, row);
|
|
749
|
+
}
|
|
750
|
+
return $xeTable.$nextTick();
|
|
751
|
+
}
|
|
752
|
+
function handleCheckedCheckboxRow($xeTable, rows, value, isForce) {
|
|
753
|
+
if (rows && !XEUtils.isArray(rows)) {
|
|
754
|
+
rows = [rows];
|
|
755
|
+
}
|
|
756
|
+
$xeTable.handleBatchSelectRows(rows, !!value, isForce);
|
|
757
|
+
$xeTable.checkSelectionStatus();
|
|
758
|
+
return $xeTable.$nextTick();
|
|
759
|
+
}
|
|
760
|
+
function handleCheckedAllCheckboxRow($xeTable, checked, isForce) {
|
|
761
|
+
const props = $xeTable;
|
|
762
|
+
const reactData = $xeTable;
|
|
763
|
+
const internalData = $xeTable;
|
|
764
|
+
const { treeConfig } = props;
|
|
765
|
+
const { selectCheckboxMaps } = reactData;
|
|
766
|
+
const { afterFullData, checkboxReserveRowMap } = internalData;
|
|
767
|
+
const treeOpts = $xeTable.computeTreeOpts;
|
|
768
|
+
const childrenField = treeOpts.children || treeOpts.childrenField;
|
|
769
|
+
const checkboxOpts = $xeTable.computeCheckboxOpts;
|
|
770
|
+
const { checkField, reserve, checkMethod } = checkboxOpts;
|
|
771
|
+
const indeterminateField = checkboxOpts.indeterminateField || checkboxOpts.halfField;
|
|
772
|
+
const selectRowMaps = {};
|
|
773
|
+
/**
|
|
774
|
+
* 绑定属性方式(高性能,有污染)
|
|
775
|
+
* 必须在行数据存在对应的属性,否则将不响应
|
|
776
|
+
*/
|
|
777
|
+
if (checkField) {
|
|
778
|
+
const checkValFn = (row) => {
|
|
779
|
+
if (isForce || (!checkMethod || checkMethod({ row }))) {
|
|
780
|
+
if (checked) {
|
|
781
|
+
selectRowMaps[getRowid($xeTable, row)] = row;
|
|
782
|
+
}
|
|
783
|
+
XEUtils.set(row, checkField, checked);
|
|
784
|
+
}
|
|
785
|
+
if (treeConfig && indeterminateField) {
|
|
786
|
+
XEUtils.set(row, indeterminateField, false);
|
|
787
|
+
}
|
|
788
|
+
};
|
|
789
|
+
// 如果存在选中方法
|
|
790
|
+
// 如果方法成立,则更新值,否则忽略该数据
|
|
791
|
+
if (treeConfig) {
|
|
792
|
+
XEUtils.eachTree(afterFullData, checkValFn, { children: childrenField });
|
|
793
|
+
}
|
|
794
|
+
else {
|
|
795
|
+
afterFullData.forEach(checkValFn);
|
|
796
|
+
}
|
|
797
|
+
}
|
|
798
|
+
else {
|
|
799
|
+
/**
|
|
800
|
+
* 默认方式(低性能,无污染)
|
|
801
|
+
* 无需任何属性,直接绑定
|
|
802
|
+
*/
|
|
803
|
+
if (treeConfig) {
|
|
804
|
+
if (checked) {
|
|
805
|
+
/**
|
|
806
|
+
* 如果是树勾选
|
|
807
|
+
* 如果方法成立,则添加到临时集合中
|
|
808
|
+
*/
|
|
809
|
+
XEUtils.eachTree(afterFullData, (row) => {
|
|
810
|
+
if (isForce || (!checkMethod || checkMethod({ row }))) {
|
|
811
|
+
selectRowMaps[getRowid($xeTable, row)] = row;
|
|
812
|
+
}
|
|
813
|
+
}, { children: childrenField });
|
|
814
|
+
}
|
|
815
|
+
else {
|
|
816
|
+
/**
|
|
817
|
+
* 如果是树取消
|
|
818
|
+
* 如果方法成立,则不添加到临时集合中
|
|
819
|
+
*/
|
|
820
|
+
if (!isForce && checkMethod) {
|
|
821
|
+
XEUtils.eachTree(afterFullData, (row) => {
|
|
822
|
+
const rowid = getRowid($xeTable, row);
|
|
823
|
+
if (checkMethod({ row }) ? 0 : selectCheckboxMaps[rowid]) {
|
|
824
|
+
selectRowMaps[rowid] = row;
|
|
825
|
+
}
|
|
826
|
+
}, { children: childrenField });
|
|
827
|
+
}
|
|
828
|
+
}
|
|
829
|
+
}
|
|
830
|
+
else {
|
|
831
|
+
if (checked) {
|
|
832
|
+
/**
|
|
833
|
+
* 如果是行勾选
|
|
834
|
+
* 如果存在选中方法且成立或者本身已勾选,则添加到临时集合中
|
|
835
|
+
* 如果不存在选中方法,则添加所有数据到临时集合中
|
|
836
|
+
*/
|
|
837
|
+
if (!isForce && checkMethod) {
|
|
838
|
+
afterFullData.forEach((row) => {
|
|
839
|
+
const rowid = getRowid($xeTable, row);
|
|
840
|
+
if (selectCheckboxMaps[rowid] || checkMethod({ row })) {
|
|
841
|
+
selectRowMaps[rowid] = row;
|
|
842
|
+
}
|
|
843
|
+
});
|
|
844
|
+
}
|
|
845
|
+
else {
|
|
846
|
+
afterFullData.forEach(row => {
|
|
847
|
+
selectRowMaps[getRowid($xeTable, row)] = row;
|
|
848
|
+
});
|
|
849
|
+
}
|
|
850
|
+
}
|
|
851
|
+
else {
|
|
852
|
+
/**
|
|
853
|
+
* 如果是行取消
|
|
854
|
+
* 如果方法成立,则不添加到临时集合中;如果方法不成立则判断当前是否已勾选,如果已被勾选则添加到新集合中
|
|
855
|
+
* 如果不存在选中方法,无需处理,临时集合默认为空
|
|
856
|
+
*/
|
|
857
|
+
if (!isForce && checkMethod) {
|
|
858
|
+
afterFullData.forEach((row) => {
|
|
859
|
+
const rowid = getRowid($xeTable, row);
|
|
860
|
+
if (checkMethod({ row }) ? 0 : selectCheckboxMaps[rowid]) {
|
|
861
|
+
selectRowMaps[rowid] = row;
|
|
862
|
+
}
|
|
863
|
+
});
|
|
864
|
+
}
|
|
865
|
+
}
|
|
866
|
+
}
|
|
867
|
+
}
|
|
868
|
+
if (reserve) {
|
|
869
|
+
if (checked) {
|
|
870
|
+
XEUtils.each(selectRowMaps, (row, rowid) => {
|
|
871
|
+
checkboxReserveRowMap[rowid] = row;
|
|
872
|
+
});
|
|
873
|
+
}
|
|
874
|
+
else {
|
|
875
|
+
afterFullData.forEach((row) => handleCheckboxReserveRow($xeTable, row, false));
|
|
876
|
+
}
|
|
877
|
+
}
|
|
878
|
+
reactData.selectCheckboxMaps = checkField ? {} : selectRowMaps;
|
|
879
|
+
reactData.isAllSelected = checked;
|
|
880
|
+
reactData.isIndeterminate = false;
|
|
881
|
+
reactData.treeIndeterminateMaps = {};
|
|
882
|
+
internalData.treeIndeterminateRowMaps = {};
|
|
883
|
+
$xeTable.checkSelectionStatus();
|
|
884
|
+
return $xeTable.$nextTick();
|
|
885
|
+
}
|
|
886
|
+
// 还原展开、选中等相关状态
|
|
887
|
+
function handleReserveStatus($xeTable) {
|
|
888
|
+
const props = $xeTable;
|
|
889
|
+
const reactData = $xeTable;
|
|
890
|
+
const internalData = $xeTable;
|
|
891
|
+
const { treeConfig } = props;
|
|
892
|
+
const { expandColumn, currentRow, selectCheckboxMaps, selectRadioRow, rowExpandedMaps, treeExpandedMaps } = reactData;
|
|
893
|
+
const { fullDataRowIdData, fullAllDataRowIdData, radioReserveRow } = internalData;
|
|
894
|
+
const expandOpts = $xeTable.computeExpandOpts;
|
|
895
|
+
const treeOpts = $xeTable.computeTreeOpts;
|
|
896
|
+
const radioOpts = $xeTable.computeRadioOpts;
|
|
897
|
+
const checkboxOpts = $xeTable.computeCheckboxOpts;
|
|
898
|
+
// 单选框
|
|
899
|
+
if (selectRadioRow && !fullAllDataRowIdData[getRowid($xeTable, selectRadioRow)]) {
|
|
900
|
+
reactData.selectRadioRow = null; // 刷新单选行状态
|
|
901
|
+
}
|
|
902
|
+
// 还原保留选中状态
|
|
903
|
+
if (radioOpts.reserve && radioReserveRow) {
|
|
904
|
+
const rowid = getRowid($xeTable, radioReserveRow);
|
|
905
|
+
if (fullDataRowIdData[rowid]) {
|
|
906
|
+
handleCheckedRadioRow($xeTable, fullDataRowIdData[rowid].row, true);
|
|
907
|
+
}
|
|
908
|
+
}
|
|
909
|
+
// 复选框
|
|
910
|
+
reactData.selectCheckboxMaps = getRecoverRowMaps($xeTable, selectCheckboxMaps); // 刷新多选行状态
|
|
911
|
+
// 还原保留选中状态
|
|
912
|
+
if (checkboxOpts.reserve) {
|
|
913
|
+
handleCheckedCheckboxRow($xeTable, handleReserveRow($xeTable, internalData.checkboxReserveRowMap), true, true);
|
|
914
|
+
}
|
|
915
|
+
if (currentRow && !fullAllDataRowIdData[getRowid($xeTable, currentRow)]) {
|
|
916
|
+
reactData.currentRow = null; // 刷新当前行状态
|
|
917
|
+
}
|
|
918
|
+
// 行展开
|
|
919
|
+
reactData.rowExpandedMaps = expandColumn ? getRecoverRowMaps($xeTable, rowExpandedMaps) : {}; // 刷新行展开状态
|
|
920
|
+
// 还原保留状态
|
|
921
|
+
if (expandColumn && expandOpts.reserve) {
|
|
922
|
+
$xeTable.setRowExpand(handleReserveRow($xeTable, internalData.rowExpandedReserveRowMap), true);
|
|
923
|
+
}
|
|
924
|
+
// 树展开
|
|
925
|
+
reactData.treeExpandedMaps = treeConfig ? getRecoverRowMaps($xeTable, treeExpandedMaps) : {}; // 刷新树展开状态
|
|
926
|
+
if (treeConfig && treeOpts.reserve) {
|
|
927
|
+
$xeTable.setTreeExpand(handleReserveRow($xeTable, internalData.treeExpandedReserveRowMap), true);
|
|
928
|
+
}
|
|
929
|
+
}
|
|
719
930
|
function calcVarRowHeightConfig($xeTable, sizeKey, sizeEl) {
|
|
720
931
|
const reactData = $xeTable;
|
|
721
932
|
const { rowHeightStore } = reactData;
|
|
@@ -2162,7 +2373,7 @@ const Methods = {
|
|
|
2162
2373
|
}
|
|
2163
2374
|
}
|
|
2164
2375
|
}
|
|
2165
|
-
|
|
2376
|
+
handleReserveStatus($xeTable);
|
|
2166
2377
|
this.checkSelectionStatus();
|
|
2167
2378
|
return new Promise(resolve => {
|
|
2168
2379
|
this.$nextTick()
|
|
@@ -4307,13 +4518,15 @@ const Methods = {
|
|
|
4307
4518
|
handleGlobalMousedownEvent(evnt) {
|
|
4308
4519
|
const { $el, $refs, $xegrid, $toolbar, mouseConfig, editStore, ctxMenuStore, editRules, editOpts, validOpts, areaOpts, filterStore, customStore, getRowNode } = this;
|
|
4309
4520
|
const { actived } = editStore;
|
|
4310
|
-
const {
|
|
4521
|
+
const { customWrapper, refValidTooltip } = $refs;
|
|
4522
|
+
const tableFilter = $refs.refTableFilter;
|
|
4523
|
+
const tableMenu = $refs.refTableMenu;
|
|
4311
4524
|
// 筛选
|
|
4312
|
-
if (
|
|
4525
|
+
if (tableFilter) {
|
|
4313
4526
|
if (getEventTargetNode(evnt, $el, 'vxe-cell--filter').flag) {
|
|
4314
4527
|
// 如果点击了筛选按钮
|
|
4315
4528
|
}
|
|
4316
|
-
else if (getEventTargetNode(evnt,
|
|
4529
|
+
else if (getEventTargetNode(evnt, tableFilter.$el).flag) {
|
|
4317
4530
|
// 如果点击筛选容器
|
|
4318
4531
|
}
|
|
4319
4532
|
else {
|
|
@@ -4393,7 +4606,7 @@ const Methods = {
|
|
|
4393
4606
|
}
|
|
4394
4607
|
}
|
|
4395
4608
|
else if (mouseConfig) {
|
|
4396
|
-
if (!getEventTargetNode(evnt, $el).flag && !($xegrid && getEventTargetNode(evnt, $xegrid.$el).flag) && !(
|
|
4609
|
+
if (!getEventTargetNode(evnt, $el).flag && !($xegrid && getEventTargetNode(evnt, $xegrid.$el).flag) && !(tableMenu && getEventTargetNode(evnt, tableMenu.$el).flag) && !($toolbar && getEventTargetNode(evnt, $toolbar.$el).flag)) {
|
|
4397
4610
|
if (this.clearSelected) {
|
|
4398
4611
|
this.clearSelected();
|
|
4399
4612
|
}
|
|
@@ -4412,7 +4625,7 @@ const Methods = {
|
|
|
4412
4625
|
}
|
|
4413
4626
|
}
|
|
4414
4627
|
// 如果配置了快捷菜单且,点击了其他地方则关闭
|
|
4415
|
-
if (ctxMenuStore.visible &&
|
|
4628
|
+
if (ctxMenuStore.visible && tableMenu && !getEventTargetNode(evnt, tableMenu.$el).flag) {
|
|
4416
4629
|
this.closeMenu();
|
|
4417
4630
|
}
|
|
4418
4631
|
const isActivated = getEventTargetNode(evnt, ($xegrid || this).$el).flag;
|
|
@@ -4987,10 +5200,11 @@ const Methods = {
|
|
|
4987
5200
|
* 处理默认勾选
|
|
4988
5201
|
*/
|
|
4989
5202
|
handleDefaultSelectionChecked() {
|
|
5203
|
+
const $xeTable = this;
|
|
4990
5204
|
const { fullDataRowIdData, checkboxOpts } = this;
|
|
4991
5205
|
const { checkAll, checkRowKeys } = checkboxOpts;
|
|
4992
5206
|
if (checkAll) {
|
|
4993
|
-
|
|
5207
|
+
handleCheckedAllCheckboxRow($xeTable, true, true);
|
|
4994
5208
|
}
|
|
4995
5209
|
else if (checkRowKeys) {
|
|
4996
5210
|
const defSelection = [];
|
|
@@ -4999,17 +5213,12 @@ const Methods = {
|
|
|
4999
5213
|
defSelection.push(fullDataRowIdData[rowid].row);
|
|
5000
5214
|
}
|
|
5001
5215
|
});
|
|
5002
|
-
|
|
5216
|
+
handleCheckedCheckboxRow($xeTable, defSelection, true, true);
|
|
5003
5217
|
}
|
|
5004
5218
|
},
|
|
5005
5219
|
handleCheckedCheckboxRow(rows, value, isForce) {
|
|
5006
5220
|
const $xeTable = this;
|
|
5007
|
-
|
|
5008
|
-
rows = [rows];
|
|
5009
|
-
}
|
|
5010
|
-
$xeTable.handleBatchSelectRows(rows, !!value, isForce);
|
|
5011
|
-
$xeTable.checkSelectionStatus();
|
|
5012
|
-
return this.$nextTick();
|
|
5221
|
+
return handleCheckedCheckboxRow($xeTable, rows, value, isForce);
|
|
5013
5222
|
},
|
|
5014
5223
|
/**
|
|
5015
5224
|
* 用于多选行,设置行为选中状态,第二个参数为选中与否
|
|
@@ -5021,7 +5230,7 @@ const Methods = {
|
|
|
5021
5230
|
if (rows && !XEUtils.isArray(rows)) {
|
|
5022
5231
|
rows = [rows];
|
|
5023
5232
|
}
|
|
5024
|
-
return $xeTable
|
|
5233
|
+
return handleCheckedCheckboxRow($xeTable, rows, checked, true);
|
|
5025
5234
|
},
|
|
5026
5235
|
setCheckboxRowKey(keys, checked) {
|
|
5027
5236
|
const $xeTable = this;
|
|
@@ -5037,7 +5246,7 @@ const Methods = {
|
|
|
5037
5246
|
rows.push(rowRest.row);
|
|
5038
5247
|
}
|
|
5039
5248
|
});
|
|
5040
|
-
return $xeTable
|
|
5249
|
+
return handleCheckedCheckboxRow($xeTable, rows, checked, true);
|
|
5041
5250
|
},
|
|
5042
5251
|
isCheckedByCheckboxRow(row) {
|
|
5043
5252
|
const $xeTable = this;
|
|
@@ -5106,7 +5315,7 @@ const Methods = {
|
|
|
5106
5315
|
if (indeterminateField) {
|
|
5107
5316
|
XEUtils.set(row, indeterminateField, false);
|
|
5108
5317
|
}
|
|
5109
|
-
$xeTable
|
|
5318
|
+
handleCheckboxReserveRow($xeTable, row, checked);
|
|
5110
5319
|
}
|
|
5111
5320
|
}, { children: transform ? mapChildrenField : childrenField });
|
|
5112
5321
|
reactData.selectCheckboxMaps = selectRowMaps;
|
|
@@ -5117,7 +5326,7 @@ const Methods = {
|
|
|
5117
5326
|
rows.forEach(row => {
|
|
5118
5327
|
if (isForce || (!checkMethod || checkMethod({ row }))) {
|
|
5119
5328
|
XEUtils.set(row, checkField, checked);
|
|
5120
|
-
$xeTable
|
|
5329
|
+
handleCheckboxReserveRow($xeTable, row, checked);
|
|
5121
5330
|
}
|
|
5122
5331
|
});
|
|
5123
5332
|
}
|
|
@@ -5138,7 +5347,7 @@ const Methods = {
|
|
|
5138
5347
|
delete selectRowMaps[rowid];
|
|
5139
5348
|
}
|
|
5140
5349
|
}
|
|
5141
|
-
$xeTable
|
|
5350
|
+
handleCheckboxReserveRow($xeTable, row, checked);
|
|
5142
5351
|
}
|
|
5143
5352
|
}, { children: transform ? mapChildrenField : childrenField });
|
|
5144
5353
|
reactData.selectCheckboxMaps = selectRowMaps;
|
|
@@ -5158,7 +5367,7 @@ const Methods = {
|
|
|
5158
5367
|
delete selectRowMaps[rowid];
|
|
5159
5368
|
}
|
|
5160
5369
|
}
|
|
5161
|
-
$xeTable
|
|
5370
|
+
handleCheckboxReserveRow($xeTable, row, checked);
|
|
5162
5371
|
}
|
|
5163
5372
|
});
|
|
5164
5373
|
reactData.selectCheckboxMaps = selectRowMaps;
|
|
@@ -5194,6 +5403,7 @@ const Methods = {
|
|
|
5194
5403
|
}
|
|
5195
5404
|
},
|
|
5196
5405
|
triggerCheckRowEvent(evnt, params, checked) {
|
|
5406
|
+
const $xeTable = this;
|
|
5197
5407
|
const { checkboxOpts, afterFullData } = this;
|
|
5198
5408
|
const { checkMethod, trigger } = checkboxOpts;
|
|
5199
5409
|
const { row } = params;
|
|
@@ -5210,7 +5420,7 @@ const Methods = {
|
|
|
5210
5420
|
if (_rowIndex !== _firstRowIndex) {
|
|
5211
5421
|
this.setAllCheckboxRow(false);
|
|
5212
5422
|
const rangeRows = _rowIndex < _firstRowIndex ? afterFullData.slice(_rowIndex, _firstRowIndex + 1) : afterFullData.slice(_firstRowIndex, _rowIndex + 1);
|
|
5213
|
-
|
|
5423
|
+
handleCheckedCheckboxRow($xeTable, rangeRows, true, false);
|
|
5214
5424
|
this.emitEvent('checkbox-range-select', Object.assign({ rangeRecords: rangeRows }, params), evnt);
|
|
5215
5425
|
return;
|
|
5216
5426
|
}
|
|
@@ -5239,147 +5449,13 @@ const Methods = {
|
|
|
5239
5449
|
$xeTable.checkSelectionStatus();
|
|
5240
5450
|
return $xeTable.$nextTick();
|
|
5241
5451
|
},
|
|
5242
|
-
handleCheckedAllCheckboxRow(checked, isForce) {
|
|
5243
|
-
const $xeTable = this;
|
|
5244
|
-
const reactData = $xeTable;
|
|
5245
|
-
const { afterFullData, treeConfig, treeOpts, selectCheckboxMaps, checkboxReserveRowMap, checkboxOpts, afterFullRowMaps } = this;
|
|
5246
|
-
const { checkField, reserve, checkStrictly, checkMethod } = checkboxOpts;
|
|
5247
|
-
const indeterminateField = checkboxOpts.indeterminateField || checkboxOpts.halfField;
|
|
5248
|
-
const childrenField = treeOpts.children || treeOpts.childrenField;
|
|
5249
|
-
const selectRowMaps = {};
|
|
5250
|
-
// 疑惑!
|
|
5251
|
-
if (!treeConfig) {
|
|
5252
|
-
XEUtils.each(selectCheckboxMaps, (row, rowid) => {
|
|
5253
|
-
if (!afterFullRowMaps[rowid]) {
|
|
5254
|
-
selectRowMaps[rowid] = row;
|
|
5255
|
-
}
|
|
5256
|
-
});
|
|
5257
|
-
}
|
|
5258
|
-
// 疑惑!
|
|
5259
|
-
if (checkStrictly) {
|
|
5260
|
-
this.isAllSelected = checked;
|
|
5261
|
-
}
|
|
5262
|
-
else {
|
|
5263
|
-
/**
|
|
5264
|
-
* 绑定属性方式(高性能,有污染)
|
|
5265
|
-
* 必须在行数据存在对应的属性,否则将不响应
|
|
5266
|
-
*/
|
|
5267
|
-
if (checkField) {
|
|
5268
|
-
const checkValFn = (row) => {
|
|
5269
|
-
if (isForce || (!checkMethod || checkMethod({ row }))) {
|
|
5270
|
-
if (checked) {
|
|
5271
|
-
selectRowMaps[getRowid(this, row)] = row;
|
|
5272
|
-
}
|
|
5273
|
-
XEUtils.set(row, checkField, checked);
|
|
5274
|
-
}
|
|
5275
|
-
if (treeConfig && indeterminateField) {
|
|
5276
|
-
XEUtils.set(row, indeterminateField, false);
|
|
5277
|
-
}
|
|
5278
|
-
};
|
|
5279
|
-
// 如果存在选中方法
|
|
5280
|
-
// 如果方法成立,则更新值,否则忽略该数据
|
|
5281
|
-
if (treeConfig) {
|
|
5282
|
-
XEUtils.eachTree(afterFullData, checkValFn, { children: childrenField });
|
|
5283
|
-
}
|
|
5284
|
-
else {
|
|
5285
|
-
afterFullData.forEach(checkValFn);
|
|
5286
|
-
}
|
|
5287
|
-
}
|
|
5288
|
-
else {
|
|
5289
|
-
/**
|
|
5290
|
-
* 默认方式(低性能,无污染)
|
|
5291
|
-
* 无需任何属性,直接绑定
|
|
5292
|
-
*/
|
|
5293
|
-
if (treeConfig) {
|
|
5294
|
-
if (checked) {
|
|
5295
|
-
/**
|
|
5296
|
-
* 如果是树勾选
|
|
5297
|
-
* 如果方法成立,则添加到临时集合中
|
|
5298
|
-
*/
|
|
5299
|
-
XEUtils.eachTree(afterFullData, (row) => {
|
|
5300
|
-
if (isForce || (!checkMethod || checkMethod({ row }))) {
|
|
5301
|
-
selectRowMaps[getRowid(this, row)] = row;
|
|
5302
|
-
}
|
|
5303
|
-
}, { children: childrenField });
|
|
5304
|
-
}
|
|
5305
|
-
else {
|
|
5306
|
-
/**
|
|
5307
|
-
* 如果是树取消
|
|
5308
|
-
* 如果方法成立,则不添加到临时集合中
|
|
5309
|
-
*/
|
|
5310
|
-
if (!isForce && checkMethod) {
|
|
5311
|
-
XEUtils.eachTree(afterFullData, (row) => {
|
|
5312
|
-
const rowid = getRowid(this, row);
|
|
5313
|
-
if (checkMethod({ row }) ? 0 : selectCheckboxMaps[rowid]) {
|
|
5314
|
-
selectRowMaps[rowid] = row;
|
|
5315
|
-
}
|
|
5316
|
-
}, { children: childrenField });
|
|
5317
|
-
}
|
|
5318
|
-
}
|
|
5319
|
-
}
|
|
5320
|
-
else {
|
|
5321
|
-
if (checked) {
|
|
5322
|
-
/**
|
|
5323
|
-
* 如果是行勾选
|
|
5324
|
-
* 如果存在选中方法且成立或者本身已勾选,则添加到临时集合中
|
|
5325
|
-
* 如果不存在选中方法,则添加所有数据到临时集合中
|
|
5326
|
-
*/
|
|
5327
|
-
if (!isForce && checkMethod) {
|
|
5328
|
-
afterFullData.forEach((row) => {
|
|
5329
|
-
const rowid = getRowid(this, row);
|
|
5330
|
-
if (selectCheckboxMaps[rowid] || checkMethod({ row })) {
|
|
5331
|
-
selectRowMaps[rowid] = row;
|
|
5332
|
-
}
|
|
5333
|
-
});
|
|
5334
|
-
}
|
|
5335
|
-
else {
|
|
5336
|
-
afterFullData.forEach((row) => {
|
|
5337
|
-
selectRowMaps[getRowid(this, row)] = row;
|
|
5338
|
-
});
|
|
5339
|
-
}
|
|
5340
|
-
}
|
|
5341
|
-
else {
|
|
5342
|
-
/**
|
|
5343
|
-
* 如果是行取消
|
|
5344
|
-
* 如果方法成立,则不添加到临时集合中;如果方法不成立则判断当前是否已勾选,如果已被勾选则添加到新集合中
|
|
5345
|
-
* 如果不存在选中方法,无需处理,临时集合默认为空
|
|
5346
|
-
*/
|
|
5347
|
-
if (!isForce && checkMethod) {
|
|
5348
|
-
afterFullData.forEach((row) => {
|
|
5349
|
-
const rowid = getRowid(this, row);
|
|
5350
|
-
if (checkMethod({ row }) ? 0 : selectCheckboxMaps[rowid]) {
|
|
5351
|
-
selectRowMaps[rowid] = row;
|
|
5352
|
-
}
|
|
5353
|
-
});
|
|
5354
|
-
}
|
|
5355
|
-
}
|
|
5356
|
-
}
|
|
5357
|
-
}
|
|
5358
|
-
if (reserve) {
|
|
5359
|
-
if (checked) {
|
|
5360
|
-
XEUtils.each(selectRowMaps, (row, rowid) => {
|
|
5361
|
-
checkboxReserveRowMap[rowid] = row;
|
|
5362
|
-
});
|
|
5363
|
-
}
|
|
5364
|
-
else {
|
|
5365
|
-
afterFullData.forEach((row) => this.handleCheckboxReserveRow(row, false));
|
|
5366
|
-
}
|
|
5367
|
-
}
|
|
5368
|
-
this.selectCheckboxMaps = checkField ? {} : selectRowMaps;
|
|
5369
|
-
}
|
|
5370
|
-
reactData.isAllSelected = checked;
|
|
5371
|
-
reactData.isIndeterminate = false;
|
|
5372
|
-
this.treeIndeterminateMaps = {};
|
|
5373
|
-
this.treeIndeterminateRowMaps = {};
|
|
5374
|
-
this.checkSelectionStatus();
|
|
5375
|
-
return this.$nextTick();
|
|
5376
|
-
},
|
|
5377
5452
|
/**
|
|
5378
5453
|
* 用于多选行,设置所有行的选中状态
|
|
5379
5454
|
* @param {Boolean} value 是否选中
|
|
5380
5455
|
*/
|
|
5381
5456
|
setAllCheckboxRow(value) {
|
|
5382
|
-
|
|
5457
|
+
const $xeTable = this;
|
|
5458
|
+
return handleCheckedAllCheckboxRow($xeTable, value, true);
|
|
5383
5459
|
},
|
|
5384
5460
|
updateCheckboxStatus() {
|
|
5385
5461
|
const $xeTable = this;
|
|
@@ -5541,42 +5617,6 @@ const Methods = {
|
|
|
5541
5617
|
$xeTable.updateCheckboxStatus();
|
|
5542
5618
|
$xeTable.updateAllCheckboxStatus();
|
|
5543
5619
|
},
|
|
5544
|
-
// 还原展开、选中等相关状态
|
|
5545
|
-
handleReserveStatus() {
|
|
5546
|
-
const $xeTable = this;
|
|
5547
|
-
const { expandColumn, treeOpts, treeConfig, fullDataRowIdData, fullAllDataRowIdData, currentRow, selectRadioRow, radioReserveRow, radioOpts, checkboxOpts, selectCheckboxMaps, rowExpandedMaps, treeExpandedMaps, expandOpts } = this;
|
|
5548
|
-
// 单选框
|
|
5549
|
-
if (selectRadioRow && !fullAllDataRowIdData[getRowid($xeTable, selectRadioRow)]) {
|
|
5550
|
-
this.selectRadioRow = null; // 刷新单选行状态
|
|
5551
|
-
}
|
|
5552
|
-
// 还原保留选中状态
|
|
5553
|
-
if (radioOpts.reserve && radioReserveRow) {
|
|
5554
|
-
const rowid = getRowid(this, radioReserveRow);
|
|
5555
|
-
if (fullDataRowIdData[rowid]) {
|
|
5556
|
-
this.handleCheckedRadioRow(fullDataRowIdData[rowid].row, true);
|
|
5557
|
-
}
|
|
5558
|
-
}
|
|
5559
|
-
// 复选框
|
|
5560
|
-
this.selectCheckboxMaps = getRecoverRowMaps(this, selectCheckboxMaps); // 刷新多选行状态
|
|
5561
|
-
// 还原保留选中状态
|
|
5562
|
-
if (checkboxOpts.reserve) {
|
|
5563
|
-
this.handleCheckedCheckboxRow(handleReserveRow(this, this.checkboxReserveRowMap), true, true);
|
|
5564
|
-
}
|
|
5565
|
-
if (currentRow && !this.fullAllDataRowIdData[getRowid($xeTable, currentRow)]) {
|
|
5566
|
-
this.currentRow = null; // 刷新当前行状态
|
|
5567
|
-
}
|
|
5568
|
-
// 行展开
|
|
5569
|
-
this.rowExpandedMaps = expandColumn ? getRecoverRowMaps(this, rowExpandedMaps) : []; // 刷新行展开状态
|
|
5570
|
-
// 还原保留状态
|
|
5571
|
-
if (expandColumn && expandOpts.reserve) {
|
|
5572
|
-
this.setRowExpand(handleReserveRow(this, this.rowExpandedReserveRowMap), true);
|
|
5573
|
-
}
|
|
5574
|
-
// 树展开
|
|
5575
|
-
this.treeExpandedMaps = treeConfig ? getRecoverRowMaps(this, treeExpandedMaps) : []; // 刷新树展开状态
|
|
5576
|
-
if (treeConfig && treeOpts.reserve) {
|
|
5577
|
-
this.setTreeExpand(handleReserveRow(this, this.treeExpandedReserveRowMap), true);
|
|
5578
|
-
}
|
|
5579
|
-
},
|
|
5580
5620
|
/**
|
|
5581
5621
|
* 获取单选框保留选中的行
|
|
5582
5622
|
*/
|
|
@@ -5611,12 +5651,6 @@ const Methods = {
|
|
|
5611
5651
|
this.radioReserveRow = null;
|
|
5612
5652
|
return this.$nextTick();
|
|
5613
5653
|
},
|
|
5614
|
-
handleRadioReserveRow(row) {
|
|
5615
|
-
const { radioOpts } = this;
|
|
5616
|
-
if (radioOpts.reserve) {
|
|
5617
|
-
this.radioReserveRow = row;
|
|
5618
|
-
}
|
|
5619
|
-
},
|
|
5620
5654
|
/**
|
|
5621
5655
|
* 获取复选框保留选中的行
|
|
5622
5656
|
*/
|
|
@@ -5670,15 +5704,22 @@ const Methods = {
|
|
|
5670
5704
|
}
|
|
5671
5705
|
},
|
|
5672
5706
|
handleCheckAllEvent(evnt, value) {
|
|
5673
|
-
this
|
|
5707
|
+
const $xeTable = this;
|
|
5708
|
+
handleCheckedAllCheckboxRow($xeTable, value);
|
|
5674
5709
|
if (evnt) {
|
|
5675
|
-
|
|
5710
|
+
$xeTable.dispatchEvent('checkbox-all', {
|
|
5711
|
+
records: $xeTable.getCheckboxRecords(),
|
|
5712
|
+
reserves: $xeTable.getCheckboxReserveRecords(),
|
|
5713
|
+
indeterminates: $xeTable.getCheckboxIndeterminateRecords(),
|
|
5714
|
+
checked: value
|
|
5715
|
+
}, evnt);
|
|
5676
5716
|
}
|
|
5677
5717
|
},
|
|
5678
5718
|
/**
|
|
5679
5719
|
* 多选,选中所有事件
|
|
5680
5720
|
*/
|
|
5681
5721
|
triggerCheckAllEvent(evnt, value) {
|
|
5722
|
+
const $xeTable = this;
|
|
5682
5723
|
const { checkboxOpts } = this;
|
|
5683
5724
|
const { trigger } = checkboxOpts;
|
|
5684
5725
|
if (trigger === 'manual') {
|
|
@@ -5687,7 +5728,7 @@ const Methods = {
|
|
|
5687
5728
|
if (evnt) {
|
|
5688
5729
|
evnt.stopPropagation();
|
|
5689
5730
|
}
|
|
5690
|
-
|
|
5731
|
+
$xeTable.handleCheckAllEvent(evnt, value);
|
|
5691
5732
|
},
|
|
5692
5733
|
/**
|
|
5693
5734
|
* 多选,切换所有行的选中状态
|
|
@@ -5732,11 +5773,12 @@ const Methods = {
|
|
|
5732
5773
|
* 处理单选框默认勾选
|
|
5733
5774
|
*/
|
|
5734
5775
|
handleDefaultRadioChecked() {
|
|
5776
|
+
const $xeTable = this;
|
|
5735
5777
|
const { radioOpts, fullDataRowIdData } = this;
|
|
5736
5778
|
const { checkRowKey: rowid, reserve } = radioOpts;
|
|
5737
5779
|
if (rowid) {
|
|
5738
5780
|
if (fullDataRowIdData[rowid]) {
|
|
5739
|
-
|
|
5781
|
+
handleCheckedRadioRow($xeTable, fullDataRowIdData[rowid].row, true);
|
|
5740
5782
|
}
|
|
5741
5783
|
if (reserve) {
|
|
5742
5784
|
const rowkey = getRowkey(this);
|
|
@@ -5748,6 +5790,7 @@ const Methods = {
|
|
|
5748
5790
|
* 单选,行选中事件
|
|
5749
5791
|
*/
|
|
5750
5792
|
triggerRadioRowEvent(evnt, params) {
|
|
5793
|
+
const $xeTable = this;
|
|
5751
5794
|
const { selectRadioRow: oldValue, radioOpts } = this;
|
|
5752
5795
|
const { row } = params;
|
|
5753
5796
|
const { trigger } = radioOpts;
|
|
@@ -5758,7 +5801,7 @@ const Methods = {
|
|
|
5758
5801
|
let newValue = row;
|
|
5759
5802
|
let isChange = oldValue !== newValue;
|
|
5760
5803
|
if (isChange) {
|
|
5761
|
-
|
|
5804
|
+
handleCheckedRadioRow($xeTable, newValue);
|
|
5762
5805
|
}
|
|
5763
5806
|
else if (!radioOpts.strict) {
|
|
5764
5807
|
isChange = oldValue === newValue;
|
|
@@ -5829,22 +5872,13 @@ const Methods = {
|
|
|
5829
5872
|
}
|
|
5830
5873
|
return false;
|
|
5831
5874
|
},
|
|
5832
|
-
handleCheckedRadioRow(row, isForce) {
|
|
5833
|
-
const { radioOpts } = this;
|
|
5834
|
-
const { checkMethod } = radioOpts;
|
|
5835
|
-
if (row && (isForce || (!checkMethod || checkMethod({ row })))) {
|
|
5836
|
-
this.selectRadioRow = row;
|
|
5837
|
-
this.handleRadioReserveRow(row);
|
|
5838
|
-
}
|
|
5839
|
-
return this.$nextTick();
|
|
5840
|
-
},
|
|
5841
5875
|
/**
|
|
5842
5876
|
* 用于单选行,设置某一行为选中状态
|
|
5843
5877
|
* @param {Row} row 行对象
|
|
5844
5878
|
*/
|
|
5845
5879
|
setRadioRow(row) {
|
|
5846
5880
|
const $xeTable = this;
|
|
5847
|
-
return $xeTable
|
|
5881
|
+
return handleCheckedRadioRow($xeTable, row, true);
|
|
5848
5882
|
},
|
|
5849
5883
|
/**
|
|
5850
5884
|
* 用于单选行,设置某一行为选中状态
|
|
@@ -5856,7 +5890,7 @@ const Methods = {
|
|
|
5856
5890
|
const { fullAllDataRowIdData } = internalData;
|
|
5857
5891
|
const rowRest = fullAllDataRowIdData[rowid];
|
|
5858
5892
|
if (rowRest) {
|
|
5859
|
-
return $xeTable
|
|
5893
|
+
return handleCheckedRadioRow($xeTable, rowRest.row, true);
|
|
5860
5894
|
}
|
|
5861
5895
|
return $xeTable.$nextTick();
|
|
5862
5896
|
},
|
|
@@ -7598,7 +7632,7 @@ const Methods = {
|
|
|
7598
7632
|
}
|
|
7599
7633
|
// 如果当前节点已选中,则展开后子节点也被选中
|
|
7600
7634
|
if (!checkStrictly && this.isCheckedByCheckboxRow(row)) {
|
|
7601
|
-
|
|
7635
|
+
handleCheckedCheckboxRow($xeTable, childRows, true);
|
|
7602
7636
|
}
|
|
7603
7637
|
return this.$nextTick().then(() => {
|
|
7604
7638
|
if (transform) {
|