我的数据是
[{"label":"住宅","value":"1"},{"label":"商业","value":"2"},{"label":"公寓","value":"3"}]
目的是返回一个数组[1,2,3]
<el-checkbox :indeterminate="isuseIndeterminate" v-model="usecheckAll" @@change="useCheckAllChange">全选</el-checkbox>
<el-checkbox-group v-model="select.use" @@change="useCheckedCitiesChange">
<el-checkbox v-for="use in uselist" :label="use.value" :key="use.value">{{use.label}}</el-checkbox>
</el-checkbox-group>
:label="use.value" 这个必须设置成value,如果设置成了label,会返回中文了。
data:
uselist: [],
isuseIndeterminate: true,
usecheckAll: false,
methods: {
useCheckAllChange(val) {
this.select.use = val ? this.uselist.map(v => v.value) : [];
this.isuseIndeterminate = false;
},
useCheckedCitiesChange(value) {
let checkedCount = value.length;
this.usecheckAll = checkedCount === this.uselist.length;
this.isuseIndeterminate = checkedCount > 0 && checkedCount < this.uselist.length;
}
}
this.uselist.map(v => v.value)这句是关键。不然你得到的是对象的数组,赋值不了的。