indeterminate 属性用以表示 checkbox 的不确定状态,一般用于实现全选的效果

<template>
<el-checkbox :indeterminate="isIndeterminate" v-model="checkAll" @change="handleCheckAllChange">全选</el-checkbox>
<div style="margin: 15px 0;"></div>
<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>
</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和v-model绑定的isIndeterminate和checkAll的值:
如果true true 或者 true false样式为-
如果false true样式为√
如果false false样式为不勾
本文介绍如何使用indeterminate属性实现复选框的不确定状态,通过Vue框架的实例代码,详细展示了全选功能的实现过程,包括数据绑定、状态切换及监听事件。
471

被折叠的 条评论
为什么被折叠?



