el-checkbox的change事件
<template><div><el-checkbox :indeterminate="isIndeterminate" v-model="checkAll" @change="handleCheckAllChange">全选</el-checkbox><el-checkbox-group v-model="checkedCities" @ch
·
<template>
<div>
<el-checkbox :indeterminate="isIndeterminate" v-model="checkAll" @change="handleCheckAllChange">全选</el-checkbox>
<el-checkbox-group v-model="checkedCities" @change="handleCheckedCitiesChange">
<el-checkbox v-for="city in cities" :label="city" :key="city">{{city}}</el-checkbox>
</el-checkbox-group>
</div>
</template>
<script>
const cityOptions = ['上海', '北京', '广州', '深圳']; // 所有选项
export default {
data() {
return {
checkAll: false, // 是否为全选状态
checkedCities: ['上海', '北京'], // 初始选中的值
cities: cityOptions, // 所有选项
isIndeterminate: true // 部分选中时
};
},
methods: {
// 全选/取消全选
handleCheckAllChange(val) {
this.checkedCities = val ? cityOptions : [];
this.isIndeterminate = false;
},
// 改变一个选项状态时
handleCheckedCitiesChange(value) {
let checkedCount = value.length;
this.checkAll = checkedCount === this.cities.length;
this.isIndeterminate = checkedCount > 0 && checkedCount < this.cities.length;
}
}
};
</script>
参数 | 说明 |
---|---|
indeterminate | 控制全选框的样式(选中部分时的样式) |
val/value | 当绑定值变化时变化后的值 |
初始样式
取消全选
全选
更多推荐
已为社区贡献2条内容
所有评论(0)