el-element ui 用 vue 语法写出 el-table 中如果数据有userId就禁用勾选和全选否则可以勾选如何实现
时间: 2024-02-18 17:02:16 浏览: 127
您可以使用 `disabled` 属性来禁用勾选和全选。在 `el-table` 中,可以使用 `row-selected` 事件来判断当前行是否被选中,然后根据是否存在 `userId` 来设置 `disabled` 属性。具体的实现可以参考以下代码:
```html
<template>
<el-table :data="tableData" @row-selected="handleRowSelected">
<el-table-column type="selection" :disabled="disabled" />
<el-table-column prop="name" label="Name" />
<el-table-column prop="age" label="Age" />
<el-table-column prop="userId" label="User ID" />
</el-table>
</template>
<script>
export default {
data() {
return {
tableData: [
{ name: 'John', age: 28, userId: '123' },
{ name: 'Jane', age: 32 },
{ name: 'Bob', age: 20, userId: '456' },
],
disabled: true,
};
},
methods: {
handleRowSelected(rows) {
// 判断是否存在 userId 字段
const hasUserId = rows.some(row => 'userId' in row);
this.disabled = !hasUserId;
},
},
};
</script>
```
在上述代码中,我们使用了 `@row-selected` 事件来触发 `handleRowSelected` 方法,该方法会根据当前选中行的数据中是否存在 `userId` 字段来设置 `disabled` 属性,从而实现禁用勾选和全选的效果。
阅读全文