el-checkbox的change事件

<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 当绑定值变化时变化后的值

初始样式

el-checkbox的change事件_第1张图片

取消全选

el-checkbox的change事件_第2张图片

全选

el-checkbox的change事件_第3张图片

你可能感兴趣的:(Vue,vue,checkbox)