el-table el-column selection disable
时间: 2023-08-14 09:02:49 浏览: 164
要禁用 ElementUI 中 el-table 中 el-column 的选择功能,可以在对应的 el-table 中设置 `@selection-change` 事件,通过传递的参数 `row` 和 `selected` 来判断是否取消选择。
具体代码如下:
```html
<template>
<el-table
:data="tableData"
@selection-change="handleSelectionChange"
:row-key="row => row.id">
<el-table-column
type="selection"
width="55">
</el-table-column>
<el-table-column
prop="name"
label="姓名">
</el-table-column>
<el-table-column
prop="age"
label="年龄">
</el-table-column>
</el-table>
</template>
<script>
export default {
data() {
return {
tableData: [
{ id: 1, name: '张三', age: 18 },
{ id: 2, name: '李四', age: 20 },
{ id: 3, name: '王五', age: 25 },
],
// 存储选中的行的 id
selectedRowIds: [],
};
},
methods: {
handleSelectionChange(selection) {
// 判断选中的行是否需要取消选择
selection.forEach(row => {
if (this.selectedRowIds.includes(row.id)) {
this.$refs.table.toggleRowSelection(row, false);
} else {
this.selectedRowIds.push(row.id);
}
});
},
},
};
</script>
```
在 `handleSelectionChange` 方法中,通过判断 `selected` 中的行是否在 `this.selectedRowIds` 数组中,来确定是否需要取消选择。如果需要取消选择,则调用 `this.$refs.table.toggleRowSelection(row, false)` 方法来取消选择。否则,将该行的 id 添加到 `this.selectedRowIds` 数组中,表示这一行已经被选择了。
阅读全文