需要实现这样的功能,全选和判断是否是全选状态.因为样式的需要所以结构和elementUI案例结构有点区别
<div>
<el-checkBox
:indeterminate="isIndeterminate"
v-model="checkAll"
@change="handleCheckAllChange"
>全选</el-checkBox>
<el-checkBox-group v-model="check" @change="handleCheckedCitiesChange">
<el-row>
<el-col :span="12" v-for="item in checkedList" :key="item.id" style="padding:30px">
<el-checkBox :label="item.id">
<span style="margin:0 120px 0 40px">{{item.name}}</span>
<span>{{item.phone}}</span>
</el-checkBox>
</el-col>
</el-row>
</el-checkBox-group>
</div>
这个地方是模拟的数据
export default {
data() {
return {
isIndeterminate: false,
checkAll: false,
check: [],
checkedGameId: [],
checkedList: [
{
id: 1,
name: "张三",
phone: "13554006475"
},
{
id: 2,
name: "李四",
phone: "13514002475"
},
{
id: 3,
name: "王五",
phone: "13558992475"
}
]
};
},
这个地方是定义的方法
methods: {
init() {
for (let i = 0; i < this.checkedList.length; i++) {
this.checkedGameId.push(this.checkedList[i].id);
}
},
handleCheckAllChange(val) {
this.check = val ? this.checkedGameId : [];
this.isIndeterminate = false;
},
handleCheckedCitiesChange(value) {
let checkedCount = value.length;
this.checkAll = checkedCount === this.checkedList.length;
this.isIndeterminate =
checkedCount > 0 && checkedCount < this.checkedList.length;
}
},
created() {
this.init();
}
有帮助的可以在下方留言
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。