vxe-table 3.13.5 → 3.13.6
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 +2 -1
- package/es/locale/lang/de-DE.js +2 -1
- package/es/locale/lang/en-US.js +2 -1
- package/es/locale/lang/es-ES.js +2 -1
- package/es/locale/lang/fr-FR.js +2 -1
- package/es/locale/lang/hu-HU.js +2 -1
- package/es/locale/lang/hy-AM.js +2 -1
- package/es/locale/lang/id-ID.js +2 -1
- package/es/locale/lang/it-IT.js +2 -1
- package/es/locale/lang/ja-JP.js +2 -1
- package/es/locale/lang/ko-KR.js +2 -1
- package/es/locale/lang/nb-NO.js +2 -1
- package/es/locale/lang/pt-BR.js +2 -1
- package/es/locale/lang/ru-RU.js +2 -1
- package/es/locale/lang/th-TH.js +2 -1
- package/es/locale/lang/ug-CN.js +2 -1
- package/es/locale/lang/uk-UA.js +2 -1
- package/es/locale/lang/vi-VN.js +2 -1
- package/es/locale/lang/zh-CHT.js +2 -1
- package/es/locale/lang/zh-CN.js +2 -1
- 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/src/methods.js +247 -215
- 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 +296 -271
- package/lib/index.umd.min.js +1 -1
- package/lib/locale/lang/ar-EG.js +2 -1
- package/lib/locale/lang/ar-EG.min.js +1 -1
- package/lib/locale/lang/de-DE.js +2 -1
- package/lib/locale/lang/de-DE.min.js +1 -1
- package/lib/locale/lang/en-US.js +2 -1
- package/lib/locale/lang/en-US.min.js +1 -1
- package/lib/locale/lang/en-US.umd.js +2 -1
- package/lib/locale/lang/es-ES.js +2 -1
- package/lib/locale/lang/es-ES.min.js +1 -1
- package/lib/locale/lang/es-ES.umd.js +2 -1
- package/lib/locale/lang/fr-FR.js +2 -1
- package/lib/locale/lang/fr-FR.min.js +1 -1
- package/lib/locale/lang/hu-HU.js +2 -1
- package/lib/locale/lang/hu-HU.min.js +1 -1
- package/lib/locale/lang/hu-HU.umd.js +2 -1
- package/lib/locale/lang/hy-AM.js +2 -1
- package/lib/locale/lang/hy-AM.min.js +1 -1
- package/lib/locale/lang/id-ID.js +2 -1
- package/lib/locale/lang/id-ID.min.js +1 -1
- package/lib/locale/lang/it-IT.js +2 -1
- package/lib/locale/lang/it-IT.min.js +1 -1
- package/lib/locale/lang/ja-JP.js +2 -1
- package/lib/locale/lang/ja-JP.min.js +1 -1
- package/lib/locale/lang/ja-JP.umd.js +2 -1
- package/lib/locale/lang/ko-KR.js +2 -1
- package/lib/locale/lang/ko-KR.min.js +1 -1
- package/lib/locale/lang/ko-KR.umd.js +2 -1
- package/lib/locale/lang/nb-NO.js +2 -1
- package/lib/locale/lang/nb-NO.min.js +1 -1
- package/lib/locale/lang/pt-BR.js +2 -1
- package/lib/locale/lang/pt-BR.min.js +1 -1
- package/lib/locale/lang/pt-BR.umd.js +2 -1
- package/lib/locale/lang/ru-RU.js +2 -1
- package/lib/locale/lang/ru-RU.min.js +1 -1
- package/lib/locale/lang/ru-RU.umd.js +2 -1
- package/lib/locale/lang/th-TH.js +2 -1
- package/lib/locale/lang/th-TH.min.js +1 -1
- package/lib/locale/lang/ug-CN.js +2 -1
- package/lib/locale/lang/ug-CN.min.js +1 -1
- package/lib/locale/lang/uk-UA.js +2 -1
- package/lib/locale/lang/uk-UA.min.js +1 -1
- package/lib/locale/lang/uk-UA.umd.js +2 -1
- package/lib/locale/lang/vi-VN.js +2 -1
- package/lib/locale/lang/vi-VN.min.js +1 -1
- package/lib/locale/lang/zh-CHT.js +2 -1
- package/lib/locale/lang/zh-CHT.min.js +1 -1
- package/lib/locale/lang/zh-CHT.umd.js +2 -1
- package/lib/locale/lang/zh-CN.js +2 -1
- package/lib/locale/lang/zh-CN.min.js +1 -1
- package/lib/locale/lang/zh-CN.umd.js +2 -1
- 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/src/methods.js +283 -262
- package/lib/table/src/methods.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 +2 -1
- package/packages/locale/lang/de-DE.ts +2 -1
- package/packages/locale/lang/en-US.ts +2 -1
- package/packages/locale/lang/es-ES.ts +2 -1
- package/packages/locale/lang/fr-FR.ts +2 -1
- package/packages/locale/lang/hu-HU.ts +2 -1
- package/packages/locale/lang/hy-AM.ts +2 -1
- package/packages/locale/lang/id-ID.ts +2 -1
- package/packages/locale/lang/it-IT.ts +2 -1
- package/packages/locale/lang/ja-JP.ts +2 -1
- package/packages/locale/lang/ko-KR.ts +2 -1
- package/packages/locale/lang/nb-NO.ts +2 -1
- package/packages/locale/lang/pt-BR.ts +2 -1
- package/packages/locale/lang/ru-RU.ts +2 -1
- package/packages/locale/lang/th-TH.ts +2 -1
- package/packages/locale/lang/ug-CN.ts +2 -1
- package/packages/locale/lang/uk-UA.ts +2 -1
- package/packages/locale/lang/vi-VN.ts +2 -1
- package/packages/locale/lang/zh-CHT.ts +2 -1
- package/packages/locale/lang/zh-CN.ts +2 -1
- package/packages/table/module/export/export-panel.ts +7 -4
- package/packages/table/module/export/mixin.ts +2 -2
- package/packages/table/src/methods.ts +264 -216
- package/styles/components/table.scss +1 -1
- /package/es/{iconfont.1740038065641.ttf → iconfont.1740103990490.ttf} +0 -0
- /package/es/{iconfont.1740038065641.woff → iconfont.1740103990490.woff} +0 -0
- /package/es/{iconfont.1740038065641.woff2 → iconfont.1740103990490.woff2} +0 -0
- /package/lib/{iconfont.1740038065641.ttf → iconfont.1740103990490.ttf} +0 -0
- /package/lib/{iconfont.1740038065641.woff → iconfont.1740103990490.woff} +0 -0
- /package/lib/{iconfont.1740038065641.woff2 → iconfont.1740103990490.woff2} +0 -0
package/lib/table/src/methods.js
CHANGED
|
@@ -54,10 +54,11 @@ const setCustomStorageMap = (id, data) => {
|
|
|
54
54
|
maps._v = version;
|
|
55
55
|
localStorage.setItem(customStorageKey, _xeUtils.default.toJSONString(maps));
|
|
56
56
|
};
|
|
57
|
-
const getRecoverRowMaps = (
|
|
57
|
+
const getRecoverRowMaps = ($xeTable, keyMaps) => {
|
|
58
|
+
const internalData = $xeTable;
|
|
58
59
|
const {
|
|
59
60
|
fullAllDataRowIdData
|
|
60
|
-
} =
|
|
61
|
+
} = internalData;
|
|
61
62
|
const restKeys = {};
|
|
62
63
|
_xeUtils.default.each(keyMaps, (row, rowid) => {
|
|
63
64
|
if (fullAllDataRowIdData[rowid]) {
|
|
@@ -66,10 +67,11 @@ const getRecoverRowMaps = (_vm, keyMaps) => {
|
|
|
66
67
|
});
|
|
67
68
|
return restKeys;
|
|
68
69
|
};
|
|
69
|
-
function handleReserveRow(
|
|
70
|
+
function handleReserveRow($xeTable, reserveRowMap) {
|
|
71
|
+
const internalData = $xeTable;
|
|
70
72
|
const {
|
|
71
73
|
fullDataRowIdData
|
|
72
|
-
} =
|
|
74
|
+
} = internalData;
|
|
73
75
|
const reserveList = [];
|
|
74
76
|
_xeUtils.default.each(reserveRowMap, (item, rowid) => {
|
|
75
77
|
if (fullDataRowIdData[rowid] && reserveList.indexOf(fullDataRowIdData[rowid].row) === -1) {
|
|
@@ -868,6 +870,253 @@ function updateStyle($xeTable) {
|
|
|
868
870
|
}
|
|
869
871
|
return $xeTable.$nextTick();
|
|
870
872
|
}
|
|
873
|
+
function handleRadioReserveRow($xeTable, row) {
|
|
874
|
+
const internalData = $xeTable;
|
|
875
|
+
const radioOpts = $xeTable.computeRadioOpts;
|
|
876
|
+
if (radioOpts.reserve) {
|
|
877
|
+
internalData.radioReserveRow = row;
|
|
878
|
+
}
|
|
879
|
+
}
|
|
880
|
+
function handleCheckboxReserveRow($xeTable, row, checked) {
|
|
881
|
+
const internalData = $xeTable;
|
|
882
|
+
const {
|
|
883
|
+
checkboxReserveRowMap
|
|
884
|
+
} = internalData;
|
|
885
|
+
const checkboxOpts = $xeTable.computeCheckboxOpts;
|
|
886
|
+
if (checkboxOpts.reserve) {
|
|
887
|
+
const rowid = (0, _util.getRowid)($xeTable, row);
|
|
888
|
+
if (checked) {
|
|
889
|
+
checkboxReserveRowMap[rowid] = row;
|
|
890
|
+
} else if (checkboxReserveRowMap[rowid]) {
|
|
891
|
+
delete checkboxReserveRowMap[rowid];
|
|
892
|
+
}
|
|
893
|
+
}
|
|
894
|
+
}
|
|
895
|
+
function handleCheckedRadioRow($xeTable, row, isForce) {
|
|
896
|
+
const reactData = $xeTable;
|
|
897
|
+
const radioOpts = $xeTable.computeRadioOpts;
|
|
898
|
+
const {
|
|
899
|
+
checkMethod
|
|
900
|
+
} = radioOpts;
|
|
901
|
+
if (row && (isForce || !checkMethod || checkMethod({
|
|
902
|
+
row
|
|
903
|
+
}))) {
|
|
904
|
+
reactData.selectRadioRow = row;
|
|
905
|
+
handleRadioReserveRow($xeTable, row);
|
|
906
|
+
}
|
|
907
|
+
return $xeTable.$nextTick();
|
|
908
|
+
}
|
|
909
|
+
function handleCheckedCheckboxRow($xeTable, rows, value, isForce) {
|
|
910
|
+
if (rows && !_xeUtils.default.isArray(rows)) {
|
|
911
|
+
rows = [rows];
|
|
912
|
+
}
|
|
913
|
+
$xeTable.handleBatchSelectRows(rows, !!value, isForce);
|
|
914
|
+
$xeTable.checkSelectionStatus();
|
|
915
|
+
return $xeTable.$nextTick();
|
|
916
|
+
}
|
|
917
|
+
function handleCheckedAllCheckboxRow($xeTable, checked, isForce) {
|
|
918
|
+
const props = $xeTable;
|
|
919
|
+
const reactData = $xeTable;
|
|
920
|
+
const internalData = $xeTable;
|
|
921
|
+
const {
|
|
922
|
+
treeConfig
|
|
923
|
+
} = props;
|
|
924
|
+
const {
|
|
925
|
+
selectCheckboxMaps
|
|
926
|
+
} = reactData;
|
|
927
|
+
const {
|
|
928
|
+
afterFullData,
|
|
929
|
+
checkboxReserveRowMap
|
|
930
|
+
} = internalData;
|
|
931
|
+
const treeOpts = $xeTable.computeTreeOpts;
|
|
932
|
+
const childrenField = treeOpts.children || treeOpts.childrenField;
|
|
933
|
+
const checkboxOpts = $xeTable.computeCheckboxOpts;
|
|
934
|
+
const {
|
|
935
|
+
checkField,
|
|
936
|
+
reserve,
|
|
937
|
+
checkMethod
|
|
938
|
+
} = checkboxOpts;
|
|
939
|
+
const indeterminateField = checkboxOpts.indeterminateField || checkboxOpts.halfField;
|
|
940
|
+
const selectRowMaps = {};
|
|
941
|
+
/**
|
|
942
|
+
* 绑定属性方式(高性能,有污染)
|
|
943
|
+
* 必须在行数据存在对应的属性,否则将不响应
|
|
944
|
+
*/
|
|
945
|
+
if (checkField) {
|
|
946
|
+
const checkValFn = row => {
|
|
947
|
+
if (isForce || !checkMethod || checkMethod({
|
|
948
|
+
row
|
|
949
|
+
})) {
|
|
950
|
+
if (checked) {
|
|
951
|
+
selectRowMaps[(0, _util.getRowid)($xeTable, row)] = row;
|
|
952
|
+
}
|
|
953
|
+
_xeUtils.default.set(row, checkField, checked);
|
|
954
|
+
}
|
|
955
|
+
if (treeConfig && indeterminateField) {
|
|
956
|
+
_xeUtils.default.set(row, indeterminateField, false);
|
|
957
|
+
}
|
|
958
|
+
};
|
|
959
|
+
// 如果存在选中方法
|
|
960
|
+
// 如果方法成立,则更新值,否则忽略该数据
|
|
961
|
+
if (treeConfig) {
|
|
962
|
+
_xeUtils.default.eachTree(afterFullData, checkValFn, {
|
|
963
|
+
children: childrenField
|
|
964
|
+
});
|
|
965
|
+
} else {
|
|
966
|
+
afterFullData.forEach(checkValFn);
|
|
967
|
+
}
|
|
968
|
+
} else {
|
|
969
|
+
/**
|
|
970
|
+
* 默认方式(低性能,无污染)
|
|
971
|
+
* 无需任何属性,直接绑定
|
|
972
|
+
*/
|
|
973
|
+
if (treeConfig) {
|
|
974
|
+
if (checked) {
|
|
975
|
+
/**
|
|
976
|
+
* 如果是树勾选
|
|
977
|
+
* 如果方法成立,则添加到临时集合中
|
|
978
|
+
*/
|
|
979
|
+
_xeUtils.default.eachTree(afterFullData, row => {
|
|
980
|
+
if (isForce || !checkMethod || checkMethod({
|
|
981
|
+
row
|
|
982
|
+
})) {
|
|
983
|
+
selectRowMaps[(0, _util.getRowid)($xeTable, row)] = row;
|
|
984
|
+
}
|
|
985
|
+
}, {
|
|
986
|
+
children: childrenField
|
|
987
|
+
});
|
|
988
|
+
} else {
|
|
989
|
+
/**
|
|
990
|
+
* 如果是树取消
|
|
991
|
+
* 如果方法成立,则不添加到临时集合中
|
|
992
|
+
*/
|
|
993
|
+
if (!isForce && checkMethod) {
|
|
994
|
+
_xeUtils.default.eachTree(afterFullData, row => {
|
|
995
|
+
const rowid = (0, _util.getRowid)($xeTable, row);
|
|
996
|
+
if (checkMethod({
|
|
997
|
+
row
|
|
998
|
+
}) ? 0 : selectCheckboxMaps[rowid]) {
|
|
999
|
+
selectRowMaps[rowid] = row;
|
|
1000
|
+
}
|
|
1001
|
+
}, {
|
|
1002
|
+
children: childrenField
|
|
1003
|
+
});
|
|
1004
|
+
}
|
|
1005
|
+
}
|
|
1006
|
+
} else {
|
|
1007
|
+
if (checked) {
|
|
1008
|
+
/**
|
|
1009
|
+
* 如果是行勾选
|
|
1010
|
+
* 如果存在选中方法且成立或者本身已勾选,则添加到临时集合中
|
|
1011
|
+
* 如果不存在选中方法,则添加所有数据到临时集合中
|
|
1012
|
+
*/
|
|
1013
|
+
if (!isForce && checkMethod) {
|
|
1014
|
+
afterFullData.forEach(row => {
|
|
1015
|
+
const rowid = (0, _util.getRowid)($xeTable, row);
|
|
1016
|
+
if (selectCheckboxMaps[rowid] || checkMethod({
|
|
1017
|
+
row
|
|
1018
|
+
})) {
|
|
1019
|
+
selectRowMaps[rowid] = row;
|
|
1020
|
+
}
|
|
1021
|
+
});
|
|
1022
|
+
} else {
|
|
1023
|
+
afterFullData.forEach(row => {
|
|
1024
|
+
selectRowMaps[(0, _util.getRowid)($xeTable, row)] = row;
|
|
1025
|
+
});
|
|
1026
|
+
}
|
|
1027
|
+
} else {
|
|
1028
|
+
/**
|
|
1029
|
+
* 如果是行取消
|
|
1030
|
+
* 如果方法成立,则不添加到临时集合中;如果方法不成立则判断当前是否已勾选,如果已被勾选则添加到新集合中
|
|
1031
|
+
* 如果不存在选中方法,无需处理,临时集合默认为空
|
|
1032
|
+
*/
|
|
1033
|
+
if (!isForce && checkMethod) {
|
|
1034
|
+
afterFullData.forEach(row => {
|
|
1035
|
+
const rowid = (0, _util.getRowid)($xeTable, row);
|
|
1036
|
+
if (checkMethod({
|
|
1037
|
+
row
|
|
1038
|
+
}) ? 0 : selectCheckboxMaps[rowid]) {
|
|
1039
|
+
selectRowMaps[rowid] = row;
|
|
1040
|
+
}
|
|
1041
|
+
});
|
|
1042
|
+
}
|
|
1043
|
+
}
|
|
1044
|
+
}
|
|
1045
|
+
}
|
|
1046
|
+
if (reserve) {
|
|
1047
|
+
if (checked) {
|
|
1048
|
+
_xeUtils.default.each(selectRowMaps, (row, rowid) => {
|
|
1049
|
+
checkboxReserveRowMap[rowid] = row;
|
|
1050
|
+
});
|
|
1051
|
+
} else {
|
|
1052
|
+
afterFullData.forEach(row => handleCheckboxReserveRow($xeTable, row, false));
|
|
1053
|
+
}
|
|
1054
|
+
}
|
|
1055
|
+
reactData.selectCheckboxMaps = checkField ? {} : selectRowMaps;
|
|
1056
|
+
reactData.isAllSelected = checked;
|
|
1057
|
+
reactData.isIndeterminate = false;
|
|
1058
|
+
reactData.treeIndeterminateMaps = {};
|
|
1059
|
+
internalData.treeIndeterminateRowMaps = {};
|
|
1060
|
+
$xeTable.checkSelectionStatus();
|
|
1061
|
+
return $xeTable.$nextTick();
|
|
1062
|
+
}
|
|
1063
|
+
// 还原展开、选中等相关状态
|
|
1064
|
+
function handleReserveStatus($xeTable) {
|
|
1065
|
+
const props = $xeTable;
|
|
1066
|
+
const reactData = $xeTable;
|
|
1067
|
+
const internalData = $xeTable;
|
|
1068
|
+
const {
|
|
1069
|
+
treeConfig
|
|
1070
|
+
} = props;
|
|
1071
|
+
const {
|
|
1072
|
+
expandColumn,
|
|
1073
|
+
currentRow,
|
|
1074
|
+
selectCheckboxMaps,
|
|
1075
|
+
selectRadioRow,
|
|
1076
|
+
rowExpandedMaps,
|
|
1077
|
+
treeExpandedMaps
|
|
1078
|
+
} = reactData;
|
|
1079
|
+
const {
|
|
1080
|
+
fullDataRowIdData,
|
|
1081
|
+
fullAllDataRowIdData,
|
|
1082
|
+
radioReserveRow
|
|
1083
|
+
} = internalData;
|
|
1084
|
+
const expandOpts = $xeTable.computeExpandOpts;
|
|
1085
|
+
const treeOpts = $xeTable.computeTreeOpts;
|
|
1086
|
+
const radioOpts = $xeTable.computeRadioOpts;
|
|
1087
|
+
const checkboxOpts = $xeTable.computeCheckboxOpts;
|
|
1088
|
+
// 单选框
|
|
1089
|
+
if (selectRadioRow && !fullAllDataRowIdData[(0, _util.getRowid)($xeTable, selectRadioRow)]) {
|
|
1090
|
+
reactData.selectRadioRow = null; // 刷新单选行状态
|
|
1091
|
+
}
|
|
1092
|
+
// 还原保留选中状态
|
|
1093
|
+
if (radioOpts.reserve && radioReserveRow) {
|
|
1094
|
+
const rowid = (0, _util.getRowid)($xeTable, radioReserveRow);
|
|
1095
|
+
if (fullDataRowIdData[rowid]) {
|
|
1096
|
+
handleCheckedRadioRow($xeTable, fullDataRowIdData[rowid].row, true);
|
|
1097
|
+
}
|
|
1098
|
+
}
|
|
1099
|
+
// 复选框
|
|
1100
|
+
reactData.selectCheckboxMaps = getRecoverRowMaps($xeTable, selectCheckboxMaps); // 刷新多选行状态
|
|
1101
|
+
// 还原保留选中状态
|
|
1102
|
+
if (checkboxOpts.reserve) {
|
|
1103
|
+
handleCheckedCheckboxRow($xeTable, handleReserveRow($xeTable, internalData.checkboxReserveRowMap), true, true);
|
|
1104
|
+
}
|
|
1105
|
+
if (currentRow && !fullAllDataRowIdData[(0, _util.getRowid)($xeTable, currentRow)]) {
|
|
1106
|
+
reactData.currentRow = null; // 刷新当前行状态
|
|
1107
|
+
}
|
|
1108
|
+
// 行展开
|
|
1109
|
+
reactData.rowExpandedMaps = expandColumn ? getRecoverRowMaps($xeTable, rowExpandedMaps) : {}; // 刷新行展开状态
|
|
1110
|
+
// 还原保留状态
|
|
1111
|
+
if (expandColumn && expandOpts.reserve) {
|
|
1112
|
+
$xeTable.setRowExpand(handleReserveRow($xeTable, internalData.rowExpandedReserveRowMap), true);
|
|
1113
|
+
}
|
|
1114
|
+
// 树展开
|
|
1115
|
+
reactData.treeExpandedMaps = treeConfig ? getRecoverRowMaps($xeTable, treeExpandedMaps) : {}; // 刷新树展开状态
|
|
1116
|
+
if (treeConfig && treeOpts.reserve) {
|
|
1117
|
+
$xeTable.setTreeExpand(handleReserveRow($xeTable, internalData.treeExpandedReserveRowMap), true);
|
|
1118
|
+
}
|
|
1119
|
+
}
|
|
871
1120
|
function calcVarRowHeightConfig($xeTable, sizeKey, sizeEl) {
|
|
872
1121
|
const reactData = $xeTable;
|
|
873
1122
|
const {
|
|
@@ -2511,7 +2760,7 @@ const Methods = {
|
|
|
2511
2760
|
}
|
|
2512
2761
|
}
|
|
2513
2762
|
}
|
|
2514
|
-
|
|
2763
|
+
handleReserveStatus($xeTable);
|
|
2515
2764
|
this.checkSelectionStatus();
|
|
2516
2765
|
return new Promise(resolve => {
|
|
2517
2766
|
this.$nextTick().then(() => this.recalculate()).then(() => {
|
|
@@ -5778,6 +6027,7 @@ const Methods = {
|
|
|
5778
6027
|
* 处理默认勾选
|
|
5779
6028
|
*/
|
|
5780
6029
|
handleDefaultSelectionChecked() {
|
|
6030
|
+
const $xeTable = this;
|
|
5781
6031
|
const {
|
|
5782
6032
|
fullDataRowIdData,
|
|
5783
6033
|
checkboxOpts
|
|
@@ -5787,7 +6037,7 @@ const Methods = {
|
|
|
5787
6037
|
checkRowKeys
|
|
5788
6038
|
} = checkboxOpts;
|
|
5789
6039
|
if (checkAll) {
|
|
5790
|
-
|
|
6040
|
+
handleCheckedAllCheckboxRow($xeTable, true, true);
|
|
5791
6041
|
} else if (checkRowKeys) {
|
|
5792
6042
|
const defSelection = [];
|
|
5793
6043
|
checkRowKeys.forEach(rowid => {
|
|
@@ -5795,17 +6045,12 @@ const Methods = {
|
|
|
5795
6045
|
defSelection.push(fullDataRowIdData[rowid].row);
|
|
5796
6046
|
}
|
|
5797
6047
|
});
|
|
5798
|
-
|
|
6048
|
+
handleCheckedCheckboxRow($xeTable, defSelection, true, true);
|
|
5799
6049
|
}
|
|
5800
6050
|
},
|
|
5801
6051
|
handleCheckedCheckboxRow(rows, value, isForce) {
|
|
5802
6052
|
const $xeTable = this;
|
|
5803
|
-
|
|
5804
|
-
rows = [rows];
|
|
5805
|
-
}
|
|
5806
|
-
$xeTable.handleBatchSelectRows(rows, !!value, isForce);
|
|
5807
|
-
$xeTable.checkSelectionStatus();
|
|
5808
|
-
return this.$nextTick();
|
|
6053
|
+
return handleCheckedCheckboxRow($xeTable, rows, value, isForce);
|
|
5809
6054
|
},
|
|
5810
6055
|
/**
|
|
5811
6056
|
* 用于多选行,设置行为选中状态,第二个参数为选中与否
|
|
@@ -5817,7 +6062,7 @@ const Methods = {
|
|
|
5817
6062
|
if (rows && !_xeUtils.default.isArray(rows)) {
|
|
5818
6063
|
rows = [rows];
|
|
5819
6064
|
}
|
|
5820
|
-
return $xeTable
|
|
6065
|
+
return handleCheckedCheckboxRow($xeTable, rows, checked, true);
|
|
5821
6066
|
},
|
|
5822
6067
|
setCheckboxRowKey(keys, checked) {
|
|
5823
6068
|
const $xeTable = this;
|
|
@@ -5835,7 +6080,7 @@ const Methods = {
|
|
|
5835
6080
|
rows.push(rowRest.row);
|
|
5836
6081
|
}
|
|
5837
6082
|
});
|
|
5838
|
-
return $xeTable
|
|
6083
|
+
return handleCheckedCheckboxRow($xeTable, rows, checked, true);
|
|
5839
6084
|
},
|
|
5840
6085
|
isCheckedByCheckboxRow(row) {
|
|
5841
6086
|
const $xeTable = this;
|
|
@@ -5931,7 +6176,7 @@ const Methods = {
|
|
|
5931
6176
|
if (indeterminateField) {
|
|
5932
6177
|
_xeUtils.default.set(row, indeterminateField, false);
|
|
5933
6178
|
}
|
|
5934
|
-
$xeTable
|
|
6179
|
+
handleCheckboxReserveRow($xeTable, row, checked);
|
|
5935
6180
|
}
|
|
5936
6181
|
}, {
|
|
5937
6182
|
children: transform ? mapChildrenField : childrenField
|
|
@@ -5945,7 +6190,7 @@ const Methods = {
|
|
|
5945
6190
|
row
|
|
5946
6191
|
})) {
|
|
5947
6192
|
_xeUtils.default.set(row, checkField, checked);
|
|
5948
|
-
$xeTable
|
|
6193
|
+
handleCheckboxReserveRow($xeTable, row, checked);
|
|
5949
6194
|
}
|
|
5950
6195
|
});
|
|
5951
6196
|
}
|
|
@@ -5967,7 +6212,7 @@ const Methods = {
|
|
|
5967
6212
|
delete selectRowMaps[rowid];
|
|
5968
6213
|
}
|
|
5969
6214
|
}
|
|
5970
|
-
$xeTable
|
|
6215
|
+
handleCheckboxReserveRow($xeTable, row, checked);
|
|
5971
6216
|
}
|
|
5972
6217
|
}, {
|
|
5973
6218
|
children: transform ? mapChildrenField : childrenField
|
|
@@ -5990,7 +6235,7 @@ const Methods = {
|
|
|
5990
6235
|
delete selectRowMaps[rowid];
|
|
5991
6236
|
}
|
|
5992
6237
|
}
|
|
5993
|
-
$xeTable
|
|
6238
|
+
handleCheckboxReserveRow($xeTable, row, checked);
|
|
5994
6239
|
}
|
|
5995
6240
|
});
|
|
5996
6241
|
reactData.selectCheckboxMaps = selectRowMaps;
|
|
@@ -6034,6 +6279,7 @@ const Methods = {
|
|
|
6034
6279
|
}
|
|
6035
6280
|
},
|
|
6036
6281
|
triggerCheckRowEvent(evnt, params, checked) {
|
|
6282
|
+
const $xeTable = this;
|
|
6037
6283
|
const {
|
|
6038
6284
|
checkboxOpts,
|
|
6039
6285
|
afterFullData
|
|
@@ -6058,7 +6304,7 @@ const Methods = {
|
|
|
6058
6304
|
if (_rowIndex !== _firstRowIndex) {
|
|
6059
6305
|
this.setAllCheckboxRow(false);
|
|
6060
6306
|
const rangeRows = _rowIndex < _firstRowIndex ? afterFullData.slice(_rowIndex, _firstRowIndex + 1) : afterFullData.slice(_firstRowIndex, _rowIndex + 1);
|
|
6061
|
-
|
|
6307
|
+
handleCheckedCheckboxRow($xeTable, rangeRows, true, false);
|
|
6062
6308
|
this.emitEvent('checkbox-range-select', Object.assign({
|
|
6063
6309
|
rangeRecords: rangeRows
|
|
6064
6310
|
}, params), evnt);
|
|
@@ -6096,168 +6342,13 @@ const Methods = {
|
|
|
6096
6342
|
$xeTable.checkSelectionStatus();
|
|
6097
6343
|
return $xeTable.$nextTick();
|
|
6098
6344
|
},
|
|
6099
|
-
handleCheckedAllCheckboxRow(checked, isForce) {
|
|
6100
|
-
const $xeTable = this;
|
|
6101
|
-
const reactData = $xeTable;
|
|
6102
|
-
const {
|
|
6103
|
-
afterFullData,
|
|
6104
|
-
treeConfig,
|
|
6105
|
-
treeOpts,
|
|
6106
|
-
selectCheckboxMaps,
|
|
6107
|
-
checkboxReserveRowMap,
|
|
6108
|
-
checkboxOpts,
|
|
6109
|
-
afterFullRowMaps
|
|
6110
|
-
} = this;
|
|
6111
|
-
const {
|
|
6112
|
-
checkField,
|
|
6113
|
-
reserve,
|
|
6114
|
-
checkStrictly,
|
|
6115
|
-
checkMethod
|
|
6116
|
-
} = checkboxOpts;
|
|
6117
|
-
const indeterminateField = checkboxOpts.indeterminateField || checkboxOpts.halfField;
|
|
6118
|
-
const childrenField = treeOpts.children || treeOpts.childrenField;
|
|
6119
|
-
const selectRowMaps = {};
|
|
6120
|
-
// 疑惑!
|
|
6121
|
-
if (!treeConfig) {
|
|
6122
|
-
_xeUtils.default.each(selectCheckboxMaps, (row, rowid) => {
|
|
6123
|
-
if (!afterFullRowMaps[rowid]) {
|
|
6124
|
-
selectRowMaps[rowid] = row;
|
|
6125
|
-
}
|
|
6126
|
-
});
|
|
6127
|
-
}
|
|
6128
|
-
// 疑惑!
|
|
6129
|
-
if (checkStrictly) {
|
|
6130
|
-
this.isAllSelected = checked;
|
|
6131
|
-
} else {
|
|
6132
|
-
/**
|
|
6133
|
-
* 绑定属性方式(高性能,有污染)
|
|
6134
|
-
* 必须在行数据存在对应的属性,否则将不响应
|
|
6135
|
-
*/
|
|
6136
|
-
if (checkField) {
|
|
6137
|
-
const checkValFn = row => {
|
|
6138
|
-
if (isForce || !checkMethod || checkMethod({
|
|
6139
|
-
row
|
|
6140
|
-
})) {
|
|
6141
|
-
if (checked) {
|
|
6142
|
-
selectRowMaps[(0, _util.getRowid)(this, row)] = row;
|
|
6143
|
-
}
|
|
6144
|
-
_xeUtils.default.set(row, checkField, checked);
|
|
6145
|
-
}
|
|
6146
|
-
if (treeConfig && indeterminateField) {
|
|
6147
|
-
_xeUtils.default.set(row, indeterminateField, false);
|
|
6148
|
-
}
|
|
6149
|
-
};
|
|
6150
|
-
// 如果存在选中方法
|
|
6151
|
-
// 如果方法成立,则更新值,否则忽略该数据
|
|
6152
|
-
if (treeConfig) {
|
|
6153
|
-
_xeUtils.default.eachTree(afterFullData, checkValFn, {
|
|
6154
|
-
children: childrenField
|
|
6155
|
-
});
|
|
6156
|
-
} else {
|
|
6157
|
-
afterFullData.forEach(checkValFn);
|
|
6158
|
-
}
|
|
6159
|
-
} else {
|
|
6160
|
-
/**
|
|
6161
|
-
* 默认方式(低性能,无污染)
|
|
6162
|
-
* 无需任何属性,直接绑定
|
|
6163
|
-
*/
|
|
6164
|
-
if (treeConfig) {
|
|
6165
|
-
if (checked) {
|
|
6166
|
-
/**
|
|
6167
|
-
* 如果是树勾选
|
|
6168
|
-
* 如果方法成立,则添加到临时集合中
|
|
6169
|
-
*/
|
|
6170
|
-
_xeUtils.default.eachTree(afterFullData, row => {
|
|
6171
|
-
if (isForce || !checkMethod || checkMethod({
|
|
6172
|
-
row
|
|
6173
|
-
})) {
|
|
6174
|
-
selectRowMaps[(0, _util.getRowid)(this, row)] = row;
|
|
6175
|
-
}
|
|
6176
|
-
}, {
|
|
6177
|
-
children: childrenField
|
|
6178
|
-
});
|
|
6179
|
-
} else {
|
|
6180
|
-
/**
|
|
6181
|
-
* 如果是树取消
|
|
6182
|
-
* 如果方法成立,则不添加到临时集合中
|
|
6183
|
-
*/
|
|
6184
|
-
if (!isForce && checkMethod) {
|
|
6185
|
-
_xeUtils.default.eachTree(afterFullData, row => {
|
|
6186
|
-
const rowid = (0, _util.getRowid)(this, row);
|
|
6187
|
-
if (checkMethod({
|
|
6188
|
-
row
|
|
6189
|
-
}) ? 0 : selectCheckboxMaps[rowid]) {
|
|
6190
|
-
selectRowMaps[rowid] = row;
|
|
6191
|
-
}
|
|
6192
|
-
}, {
|
|
6193
|
-
children: childrenField
|
|
6194
|
-
});
|
|
6195
|
-
}
|
|
6196
|
-
}
|
|
6197
|
-
} else {
|
|
6198
|
-
if (checked) {
|
|
6199
|
-
/**
|
|
6200
|
-
* 如果是行勾选
|
|
6201
|
-
* 如果存在选中方法且成立或者本身已勾选,则添加到临时集合中
|
|
6202
|
-
* 如果不存在选中方法,则添加所有数据到临时集合中
|
|
6203
|
-
*/
|
|
6204
|
-
if (!isForce && checkMethod) {
|
|
6205
|
-
afterFullData.forEach(row => {
|
|
6206
|
-
const rowid = (0, _util.getRowid)(this, row);
|
|
6207
|
-
if (selectCheckboxMaps[rowid] || checkMethod({
|
|
6208
|
-
row
|
|
6209
|
-
})) {
|
|
6210
|
-
selectRowMaps[rowid] = row;
|
|
6211
|
-
}
|
|
6212
|
-
});
|
|
6213
|
-
} else {
|
|
6214
|
-
afterFullData.forEach(row => {
|
|
6215
|
-
selectRowMaps[(0, _util.getRowid)(this, row)] = row;
|
|
6216
|
-
});
|
|
6217
|
-
}
|
|
6218
|
-
} else {
|
|
6219
|
-
/**
|
|
6220
|
-
* 如果是行取消
|
|
6221
|
-
* 如果方法成立,则不添加到临时集合中;如果方法不成立则判断当前是否已勾选,如果已被勾选则添加到新集合中
|
|
6222
|
-
* 如果不存在选中方法,无需处理,临时集合默认为空
|
|
6223
|
-
*/
|
|
6224
|
-
if (!isForce && checkMethod) {
|
|
6225
|
-
afterFullData.forEach(row => {
|
|
6226
|
-
const rowid = (0, _util.getRowid)(this, row);
|
|
6227
|
-
if (checkMethod({
|
|
6228
|
-
row
|
|
6229
|
-
}) ? 0 : selectCheckboxMaps[rowid]) {
|
|
6230
|
-
selectRowMaps[rowid] = row;
|
|
6231
|
-
}
|
|
6232
|
-
});
|
|
6233
|
-
}
|
|
6234
|
-
}
|
|
6235
|
-
}
|
|
6236
|
-
}
|
|
6237
|
-
if (reserve) {
|
|
6238
|
-
if (checked) {
|
|
6239
|
-
_xeUtils.default.each(selectRowMaps, (row, rowid) => {
|
|
6240
|
-
checkboxReserveRowMap[rowid] = row;
|
|
6241
|
-
});
|
|
6242
|
-
} else {
|
|
6243
|
-
afterFullData.forEach(row => this.handleCheckboxReserveRow(row, false));
|
|
6244
|
-
}
|
|
6245
|
-
}
|
|
6246
|
-
this.selectCheckboxMaps = checkField ? {} : selectRowMaps;
|
|
6247
|
-
}
|
|
6248
|
-
reactData.isAllSelected = checked;
|
|
6249
|
-
reactData.isIndeterminate = false;
|
|
6250
|
-
this.treeIndeterminateMaps = {};
|
|
6251
|
-
this.treeIndeterminateRowMaps = {};
|
|
6252
|
-
this.checkSelectionStatus();
|
|
6253
|
-
return this.$nextTick();
|
|
6254
|
-
},
|
|
6255
6345
|
/**
|
|
6256
6346
|
* 用于多选行,设置所有行的选中状态
|
|
6257
6347
|
* @param {Boolean} value 是否选中
|
|
6258
6348
|
*/
|
|
6259
6349
|
setAllCheckboxRow(value) {
|
|
6260
|
-
|
|
6350
|
+
const $xeTable = this;
|
|
6351
|
+
return handleCheckedAllCheckboxRow($xeTable, value, true);
|
|
6261
6352
|
},
|
|
6262
6353
|
updateCheckboxStatus() {
|
|
6263
6354
|
const $xeTable = this;
|
|
@@ -6436,57 +6527,6 @@ const Methods = {
|
|
|
6436
6527
|
$xeTable.updateCheckboxStatus();
|
|
6437
6528
|
$xeTable.updateAllCheckboxStatus();
|
|
6438
6529
|
},
|
|
6439
|
-
// 还原展开、选中等相关状态
|
|
6440
|
-
handleReserveStatus() {
|
|
6441
|
-
const $xeTable = this;
|
|
6442
|
-
const {
|
|
6443
|
-
expandColumn,
|
|
6444
|
-
treeOpts,
|
|
6445
|
-
treeConfig,
|
|
6446
|
-
fullDataRowIdData,
|
|
6447
|
-
fullAllDataRowIdData,
|
|
6448
|
-
currentRow,
|
|
6449
|
-
selectRadioRow,
|
|
6450
|
-
radioReserveRow,
|
|
6451
|
-
radioOpts,
|
|
6452
|
-
checkboxOpts,
|
|
6453
|
-
selectCheckboxMaps,
|
|
6454
|
-
rowExpandedMaps,
|
|
6455
|
-
treeExpandedMaps,
|
|
6456
|
-
expandOpts
|
|
6457
|
-
} = this;
|
|
6458
|
-
// 单选框
|
|
6459
|
-
if (selectRadioRow && !fullAllDataRowIdData[(0, _util.getRowid)($xeTable, selectRadioRow)]) {
|
|
6460
|
-
this.selectRadioRow = null; // 刷新单选行状态
|
|
6461
|
-
}
|
|
6462
|
-
// 还原保留选中状态
|
|
6463
|
-
if (radioOpts.reserve && radioReserveRow) {
|
|
6464
|
-
const rowid = (0, _util.getRowid)(this, radioReserveRow);
|
|
6465
|
-
if (fullDataRowIdData[rowid]) {
|
|
6466
|
-
this.handleCheckedRadioRow(fullDataRowIdData[rowid].row, true);
|
|
6467
|
-
}
|
|
6468
|
-
}
|
|
6469
|
-
// 复选框
|
|
6470
|
-
this.selectCheckboxMaps = getRecoverRowMaps(this, selectCheckboxMaps); // 刷新多选行状态
|
|
6471
|
-
// 还原保留选中状态
|
|
6472
|
-
if (checkboxOpts.reserve) {
|
|
6473
|
-
this.handleCheckedCheckboxRow(handleReserveRow(this, this.checkboxReserveRowMap), true, true);
|
|
6474
|
-
}
|
|
6475
|
-
if (currentRow && !this.fullAllDataRowIdData[(0, _util.getRowid)($xeTable, currentRow)]) {
|
|
6476
|
-
this.currentRow = null; // 刷新当前行状态
|
|
6477
|
-
}
|
|
6478
|
-
// 行展开
|
|
6479
|
-
this.rowExpandedMaps = expandColumn ? getRecoverRowMaps(this, rowExpandedMaps) : []; // 刷新行展开状态
|
|
6480
|
-
// 还原保留状态
|
|
6481
|
-
if (expandColumn && expandOpts.reserve) {
|
|
6482
|
-
this.setRowExpand(handleReserveRow(this, this.rowExpandedReserveRowMap), true);
|
|
6483
|
-
}
|
|
6484
|
-
// 树展开
|
|
6485
|
-
this.treeExpandedMaps = treeConfig ? getRecoverRowMaps(this, treeExpandedMaps) : []; // 刷新树展开状态
|
|
6486
|
-
if (treeConfig && treeOpts.reserve) {
|
|
6487
|
-
this.setTreeExpand(handleReserveRow(this, this.treeExpandedReserveRowMap), true);
|
|
6488
|
-
}
|
|
6489
|
-
},
|
|
6490
6530
|
/**
|
|
6491
6531
|
* 获取单选框保留选中的行
|
|
6492
6532
|
*/
|
|
@@ -6528,14 +6568,6 @@ const Methods = {
|
|
|
6528
6568
|
this.radioReserveRow = null;
|
|
6529
6569
|
return this.$nextTick();
|
|
6530
6570
|
},
|
|
6531
|
-
handleRadioReserveRow(row) {
|
|
6532
|
-
const {
|
|
6533
|
-
radioOpts
|
|
6534
|
-
} = this;
|
|
6535
|
-
if (radioOpts.reserve) {
|
|
6536
|
-
this.radioReserveRow = row;
|
|
6537
|
-
}
|
|
6538
|
-
},
|
|
6539
6571
|
/**
|
|
6540
6572
|
* 获取复选框保留选中的行
|
|
6541
6573
|
*/
|
|
@@ -6598,12 +6630,13 @@ const Methods = {
|
|
|
6598
6630
|
}
|
|
6599
6631
|
},
|
|
6600
6632
|
handleCheckAllEvent(evnt, value) {
|
|
6601
|
-
this
|
|
6633
|
+
const $xeTable = this;
|
|
6634
|
+
handleCheckedAllCheckboxRow($xeTable, value);
|
|
6602
6635
|
if (evnt) {
|
|
6603
|
-
|
|
6604
|
-
records:
|
|
6605
|
-
reserves:
|
|
6606
|
-
indeterminates:
|
|
6636
|
+
$xeTable.dispatchEvent('checkbox-all', {
|
|
6637
|
+
records: $xeTable.getCheckboxRecords(),
|
|
6638
|
+
reserves: $xeTable.getCheckboxReserveRecords(),
|
|
6639
|
+
indeterminates: $xeTable.getCheckboxIndeterminateRecords(),
|
|
6607
6640
|
checked: value
|
|
6608
6641
|
}, evnt);
|
|
6609
6642
|
}
|
|
@@ -6612,6 +6645,7 @@ const Methods = {
|
|
|
6612
6645
|
* 多选,选中所有事件
|
|
6613
6646
|
*/
|
|
6614
6647
|
triggerCheckAllEvent(evnt, value) {
|
|
6648
|
+
const $xeTable = this;
|
|
6615
6649
|
const {
|
|
6616
6650
|
checkboxOpts
|
|
6617
6651
|
} = this;
|
|
@@ -6624,7 +6658,7 @@ const Methods = {
|
|
|
6624
6658
|
if (evnt) {
|
|
6625
6659
|
evnt.stopPropagation();
|
|
6626
6660
|
}
|
|
6627
|
-
|
|
6661
|
+
$xeTable.handleCheckAllEvent(evnt, value);
|
|
6628
6662
|
},
|
|
6629
6663
|
/**
|
|
6630
6664
|
* 多选,切换所有行的选中状态
|
|
@@ -6678,6 +6712,7 @@ const Methods = {
|
|
|
6678
6712
|
* 处理单选框默认勾选
|
|
6679
6713
|
*/
|
|
6680
6714
|
handleDefaultRadioChecked() {
|
|
6715
|
+
const $xeTable = this;
|
|
6681
6716
|
const {
|
|
6682
6717
|
radioOpts,
|
|
6683
6718
|
fullDataRowIdData
|
|
@@ -6688,7 +6723,7 @@ const Methods = {
|
|
|
6688
6723
|
} = radioOpts;
|
|
6689
6724
|
if (rowid) {
|
|
6690
6725
|
if (fullDataRowIdData[rowid]) {
|
|
6691
|
-
|
|
6726
|
+
handleCheckedRadioRow($xeTable, fullDataRowIdData[rowid].row, true);
|
|
6692
6727
|
}
|
|
6693
6728
|
if (reserve) {
|
|
6694
6729
|
const rowkey = (0, _util.getRowkey)(this);
|
|
@@ -6702,6 +6737,7 @@ const Methods = {
|
|
|
6702
6737
|
* 单选,行选中事件
|
|
6703
6738
|
*/
|
|
6704
6739
|
triggerRadioRowEvent(evnt, params) {
|
|
6740
|
+
const $xeTable = this;
|
|
6705
6741
|
const {
|
|
6706
6742
|
selectRadioRow: oldValue,
|
|
6707
6743
|
radioOpts
|
|
@@ -6719,7 +6755,7 @@ const Methods = {
|
|
|
6719
6755
|
let newValue = row;
|
|
6720
6756
|
let isChange = oldValue !== newValue;
|
|
6721
6757
|
if (isChange) {
|
|
6722
|
-
|
|
6758
|
+
handleCheckedRadioRow($xeTable, newValue);
|
|
6723
6759
|
} else if (!radioOpts.strict) {
|
|
6724
6760
|
isChange = oldValue === newValue;
|
|
6725
6761
|
if (isChange) {
|
|
@@ -6816,28 +6852,13 @@ const Methods = {
|
|
|
6816
6852
|
}
|
|
6817
6853
|
return false;
|
|
6818
6854
|
},
|
|
6819
|
-
handleCheckedRadioRow(row, isForce) {
|
|
6820
|
-
const {
|
|
6821
|
-
radioOpts
|
|
6822
|
-
} = this;
|
|
6823
|
-
const {
|
|
6824
|
-
checkMethod
|
|
6825
|
-
} = radioOpts;
|
|
6826
|
-
if (row && (isForce || !checkMethod || checkMethod({
|
|
6827
|
-
row
|
|
6828
|
-
}))) {
|
|
6829
|
-
this.selectRadioRow = row;
|
|
6830
|
-
this.handleRadioReserveRow(row);
|
|
6831
|
-
}
|
|
6832
|
-
return this.$nextTick();
|
|
6833
|
-
},
|
|
6834
6855
|
/**
|
|
6835
6856
|
* 用于单选行,设置某一行为选中状态
|
|
6836
6857
|
* @param {Row} row 行对象
|
|
6837
6858
|
*/
|
|
6838
6859
|
setRadioRow(row) {
|
|
6839
6860
|
const $xeTable = this;
|
|
6840
|
-
return $xeTable
|
|
6861
|
+
return handleCheckedRadioRow($xeTable, row, true);
|
|
6841
6862
|
},
|
|
6842
6863
|
/**
|
|
6843
6864
|
* 用于单选行,设置某一行为选中状态
|
|
@@ -6851,7 +6872,7 @@ const Methods = {
|
|
|
6851
6872
|
} = internalData;
|
|
6852
6873
|
const rowRest = fullAllDataRowIdData[rowid];
|
|
6853
6874
|
if (rowRest) {
|
|
6854
|
-
return $xeTable
|
|
6875
|
+
return handleCheckedRadioRow($xeTable, rowRest.row, true);
|
|
6855
6876
|
}
|
|
6856
6877
|
return $xeTable.$nextTick();
|
|
6857
6878
|
},
|
|
@@ -8939,7 +8960,7 @@ const Methods = {
|
|
|
8939
8960
|
}
|
|
8940
8961
|
// 如果当前节点已选中,则展开后子节点也被选中
|
|
8941
8962
|
if (!checkStrictly && this.isCheckedByCheckboxRow(row)) {
|
|
8942
|
-
|
|
8963
|
+
handleCheckedCheckboxRow($xeTable, childRows, true);
|
|
8943
8964
|
}
|
|
8944
8965
|
return this.$nextTick().then(() => {
|
|
8945
8966
|
if (transform) {
|