el-button判断全选
时间: 2023-11-08 07:11:13 浏览: 134
可以通过绑定一个 `v-model` 到一个数组来实现全选功能,然后通过判断这个数组是否包含所有的选项来确定是否全选。下面是一个示例代码:
```html
<template>
<div>
<el-button @click="selectAll">全选</el-button>
<el-button @click="deselectAll">取消全选</el-button>
<el-checkbox-group v-model="selectedOptions">
<el-checkbox v-for="(option, index) in options" :key="index" :label="option">{{ option }}</el-checkbox>
</el-checkbox-group>
</div>
</template>
<script>
export default {
data() {
return {
options: ['选项1', '选项2', '选项3', '选项4'],
selectedOptions: []
}
},
methods: {
selectAll() {
this.selectedOptions = this.options.slice() // 将所有选项添加到已选数组中
},
deselectAll() {
this.selectedOptions = [] // 清空已选数组
}
},
watch: {
selectedOptions(val) {
if (val.length === this.options.length) {
console.log('已全选')
// 执行全选操作
} else {
console.log('未全选')
// 执行未全选操作
}
}
}
}
</script>
```
在上面的代码中,我们使用 `el-checkbox-group` 组件来渲染多个复选框,并使用 `v-model` 绑定一个数组来实现多选。当点击全选按钮时,我们将所有选项添加到已选数组中;当点击取消全选按钮时,我们清空已选数组。同时,我们通过 `watch` 监听已选数组的变化,当已选数组长度等于选项数组长度时,说明已经全选,此时可以执行相应的操作。
阅读全文