elementui中checkbox的indeterminate属性使用以及样式展示

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样式为不勾

猜你喜欢

转载自blog.csdn.net/Selina_lxh/article/details/129614239