开发的时候可能会需要用到搜索表格的情况,搜索后表格勾选的就会消失,而elementul有个属性可以处理这个情况。
reserve-selection
和row-key
搭配使用
<template>
<span>
<el-table
ref="multipleTable"
:row-key="getRowKey"
class="dialog_height"
:data="tableData"
tooltip-effect="dark"
style="width: 100%"
@selection-change="handleSelectionChange"
>
<el-table-column type="selection" width="55" :reserve-selection="true">
</el-table-column>
<el-table-column width="600" prop="gtcode" label="规格">
</el-table-column>
</el-table>
</el-dialog>
</span>
</template>
<script>
export default {
methods: {
// 搜索后表格勾选不取消
getRowKey(row) {
return row.id;
},
handleSelectionChange (list) {
console.log('选中的数据', list)
}
};
</script>
使用流程:三步骤
1,在table上写 :row-key="getRowKey"
2,在type="selection"
那一列标签上写 :reserve-selection="true"
3,在methods中写个方法。getRowKey(row){ return row.id}
设置默认选中
toggle(data) {
if (data.length) {
this.$nextTick(() => {
data.forEach(item => {
// 例如数据中的id== 1的话 让这一列选中, 如果是一个list遍历一下就行
if (item.id == 1) {
// multipleTable 是这个表格的ref属性 true为选中状态
this.$refs.multipleTable.toggleRowSelection(item, true);
}
})
})
}
}