多选按钮关联多个el-checkbox-group



需求: 如图设计稿,全部企业成员下面的数据来源与两个接口,点击全部企业成员需要勾选全部,下面选中全部企业成员要是选中状态,所以需要两个数组变量,两个el-checkbox-group来控制;有人可能会疑问为什么不把两个数据接口的数据放一个数组里,用一个el-checkbox-group来展示。正常情况下确实可以,但是还有个表单提交的请求,需要分别传两个数组中勾选的id,所以不能放一个数组里,不然没发区分勾选id的来源。

解决方法:

html 复制代码
<div class="user-list">
  <el-checkbox v-model="isCheckAll" :indeterminate="isIndeterminate"
     @change="handleCheckAllChange">全部企业成员</el-checkbox>
 	<el-checkbox-group v-model="checkedUserGroup" @change="handleCheckedUserChange">
       <el-checkbox v-for="item in userGroupList" :key="item.id" :label="item.id">{{
          item.name
       }}</el-checkbox>
   </el-checkbox-group>
   <el-checkbox-group v-model="checkedUser" @change="handleCheckedUserChange">
      <el-checkbox v-for="item in userList" :key="item.id" :label="item.id">{{
         item.name
      }}</el-checkbox>
   </el-checkbox-group>
</div>
javascript 复制代码
data(){
	return {
		userGroupList: [],
		userList: [],
		isCheckAll: false,
		isIndeterminate: false,
		checkedUserGroup: [],
		checkedUser: [],
	}
}

handleCheckAllChange(val) {
      this.checkedUserGroup = val ? this.userGroupList.map(item => item.id) : []
      this.checkedUser = val ? this.userList.map(item => item.id) : []
      this.isIndeterminate = false
    },
handleCheckedUserChange(value) {
      let checkedCount = value.length
      this.isIndeterminate = checkedCount > 0 && this.checkedUserGroup.length + this.checkedUser.length < this.userGroupList.length + this.userList.length
      this.isCheckAll = this.userGroupList.length + this.userList.length === this.checkedUserGroup.length + this.checkedUser.length
    },
相关推荐
未来之窗软件服务18 小时前
未来之窗昭和仙君(六十五)Vue与跨地区多部门开发—东方仙盟练气
前端·javascript·vue.js·仙盟创梦ide·东方仙盟·昭和仙君
嘿起屁儿整18 小时前
面试点(网络层面)
前端·网络
VT.馒头18 小时前
【力扣】2721. 并行执行异步函数
前端·javascript·算法·leetcode·typescript
phltxy19 小时前
Vue 核心特性实战指南:指令、样式绑定、计算属性与侦听器
前端·javascript·vue.js
Byron070720 小时前
Vue 中使用 Tiptap 富文本编辑器的完整指南
前端·javascript·vue.js
css趣多多20 小时前
地图快速上手
前端
zhengfei61120 小时前
面向攻击性安全专业人员的一体化浏览器扩展程序[特殊字符]
前端·chrome·safari
码丁_11721 小时前
为什么前端需要做优化?
前端
Mr Xu_21 小时前
告别硬编码:前端项目中配置驱动的实战优化指南
前端·javascript·数据结构
Byron070721 小时前
从 0 到 1 搭建 Vue 前端工程化体系:提效、提质、降本实战落地
前端·javascript·vue.js