element中table的selection-change监听改变的那条数据的下标
时间: 2024-11-22 17:44:07 浏览: 5
监听element-ui table滚动事件的方法
在Element UI的Table组件中,`selection-change`事件是在用户选择或多选表格行时触发的。这个事件会提供两个参数:当前被选中的行数组(`selected`)以及上一次选中的行数组(`oldSelected`)。如果你想获取改变的那条数据的下标,你可以通过这两个数组的对比来实现。
例如:
```javascript
<template>
<el-table :data="tableData" @selection-change="handleSelectionChange">
<!-- ... -->
</el-table>
</template>
<script>
export default {
methods: {
handleSelectionChange(selected, oldSelected) {
const selectedIndexArray = selected.map((item, index) => index);
const removedIndices = oldSelected.filter(index => !selected.includes(this.tableData[index])).map(item => item);
const addedIndices = selectedIndexArray.filter(index => !oldSelected.includes(index));
console.log('删除的数据下标:', removedIndices);
console.log('新增的数据下标:', addedIndices);
// 如果你想获取特定操作下删除或添加的第一条数据下标,可以这样取:
let changedIndex;
if (removedIndices.length) {
changedIndex = removedIndices[0];
} else if (addedIndices.length) {
changedIndex = addedIndices[0];
}
},
},
data() {
return {
tableData: [...], // 你的表格数据
};
},
};
</script>
```
在这个例子中,我们首先创建了`selectedIndexArray`来存储新选中的行对应索引,然后找出被移除或新增的行的下标,并分别打印出来。最后可以根据需要确定哪种情况发生了变化并获取对应的下标。
阅读全文