Skip to content

Commit 881168e

Browse files
committed
修复vue3版同一页面使用多个table时,不能正确获取选中行数据的问题
1 parent e9ebf62 commit 881168e

File tree

1 file changed

+8
-8
lines changed

1 file changed

+8
-8
lines changed

Vol.Vue3版本/src/components/basic/VolTable.vue

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -259,7 +259,6 @@
259259
import VolTableRender from "./VolTable/VolTableRender";
260260
var $vue;
261261
let _errMsg;
262-
let selectRows = [];
263262
import { defineComponent } from "vue";
264263
export default defineComponent({
265264
//https://github.com/element-plus/element-plus/issues/1483
@@ -457,6 +456,7 @@ export default defineComponent({
457456
remoteColumns: [], // 需要每次刷新或分页后从后台加载字典数据源的列配置
458457
cellStyleColumns: {}, // 有背景颜色的配置
459458
fxRight: false, //是否有右边固定表头
459+
selectRows:[]//当前选中的行
460460
};
461461
},
462462
created() {
@@ -551,8 +551,8 @@ export default defineComponent({
551551
},
552552
methods: {
553553
watchRowSelectChange(newLen, oldLen) {
554-
if (newLen < oldLen && selectRows.length) {
555-
selectRows = [];
554+
if (newLen < oldLen && this.selectRows.length) {
555+
this.selectRows = [];
556556
$vue.$refs.table.clearSelection();
557557
}
558558
},
@@ -947,14 +947,14 @@ export default defineComponent({
947947
this.$props.linkView(row, column);
948948
},
949949
getSelected() {
950-
return selectRows;
950+
return this.selectRows;
951951
},
952952
getSelectedIndex() {
953953
if (!this.index) {
954954
// 只有设置了属性index才有索引行
955955
return [];
956956
}
957-
let indexArr = selectRows.map((x) => {
957+
let indexArr = this.selectRows.map((x) => {
958958
return x.elementIndex;
959959
});
960960
return indexArr || [];
@@ -1103,15 +1103,15 @@ export default defineComponent({
11031103
selectionChange(selection) {
11041104
// console.log(selection);
11051105
// 选择行事件,只有单选才触发
1106-
selectRows = selection;
1106+
this.selectRows = selection;
11071107
if (this.single) {
11081108
if (selection.length == 1) {
11091109
this.$emit("rowChange", selection[0]);
11101110
}
11111111
if (selection.length > 1) {
11121112
let _row = selection[selection.length - 1];
11131113
this.$refs.table.toggleRowSelection(selection[0]);
1114-
selectRows = [_row];
1114+
this.selectRows = [_row];
11151115
}
11161116
}
11171117
},
@@ -1257,7 +1257,7 @@ export default defineComponent({
12571257
return column.edit.type == "date" ? "YYYY-MM-DD" : "YYYY-MM-DD HH:mm:ss";
12581258
},
12591259
userSelect(selection, row) {
1260-
selectRows = selection;
1260+
this.selectRows = selection;
12611261
if (!this.single) {
12621262
this.$emit("rowChange", { row, selection });
12631263
}

0 commit comments

Comments
 (0)