<!--在el-checkbox元素中定义v-model绑定变量,单一的checkbox中,默认绑定变量的值会是Boolean,选中为true。-->
<el-checkbox v-model="checked">备选项</el-checkbox>
data() {
return {
checked: true
};
}
<!--适用于多个勾选框绑定到同一个数组的情景,通过是否勾选来表示这一组选项中选中的项。
checkbox-group元素能把多个 checkbox 管理为一组,只需要在 Group 中使用v-model绑定Array类型的变量即可。 el-checkbox 的 label属性是该 checkbox 对应的值,若该标签中无内容,则该属性也充当 checkbox 按钮后的介绍。label与数组中的元素值相对应,如果存在指定的值则为选中状态,否则为不选中。-->
<el-checkbox-group v-model="checklist">
<el-checkbox label="复选框A"></el-checkbox>
<el-checkbox label="复选框B">bb</el-checkbox>
<el-checkbox label="复选框C"></el-checkbox>
<el-checkbox label="禁用" disabled></el-checkbox>
<el-checkbox label="选中且禁用" disabled></el-checkbox>
</el-checkbox-group>
data() {
return {
checklist: [ '选中且禁用', '复选框A']
};
}
<!--indeterminate 属性用以表示 checkbox 的不确定状态,一般用于实现全选的效果-->
<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>
<script>
const cityOptions = ['上海', '北京', '广州', '深圳'];
new Vue({
el: '#app',
data() {
return {
checkAll: false,
checkedCities: ['上海', '北京'],
cities: cityOptions,
isIndeterminate: true
};
},
methods: {
handleCheckAllChange(val) {
//console.log(val);val是 是否选中'全选'的bool值
this.checkedCities = val ? cityOptions : [];
this.isIndeterminate = false;
},
handleCheckedCitiesChange(value) {
console.log(value)
// console.log(value); value是选中的复选框的值构成的数组
let checkedCount = value.length;
this.checkAll = checkedCount === this.cities.length;
//有选择,但没全选,isIndeterminate为true(设置 indeterminate 状态,只负责样式控制)
this.isIndeterminate = checkedCount > 0 && checkedCount < this.cities.length;
}
}
})
</script>
Checkbox Attributes
参数 |
说明 |
类型 |
可选值 |
默认值 |
label |
选中状态的值(只有在checkbox-group 或者绑定对象类型为array 时有效) |
string / number / boolean |
— |
— |
disabled |
是否禁用 |
boolean |
— |
false |
border |
是否显示边框 |
boolean |
— |
false |
size |
Checkbox 的尺寸,仅在 border 为真时有效 |
string |
medium / small / mini |
— |
checked |
当前是否勾选 |
boolean |
— |
false |
indeterminate |
设置 indeterminate 状态,只负责样式控制 |
boolean |
— |
false |