vue3.0+element-plus 使用el-checkbox-group无法选中
代码:
<el-form-item label="口味:" label-width="120px" prop="dishTaste">
<el-checkbox-group v-model="chooseTasteList" @change="chooseTaste">
<el-checkbox v-model="tasteList.id"
v-for="(tasteList,tasteListndex) in getInitializeData.getTasteList"
:key="tasteListndex"
:label="tasteList.tasteName"
size="large"></el-checkbox>
</el-checkbox-group>
</el-form-item>
这个是有默认选项,但是选择其他的无法选中,这是哪里出问题了
效果如下图
把 v-model="tasteList.id" 去掉
你只需要 一个 v-model就行 ,el-checkbox 的去掉
示例里有
应该是你chooseTaste这个方法有问题,你贴下代码
<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>