关于复选框(二)

多选

在这里插入图片描述
后端返回数据

{
"id": 101,
"label": "深圳总公司",
"children": [
{
"id": 103,
"label": "研发部门"
},
{
"id": 104,
"label": "市场部门"
},
{
"id": 105,
"label": "测试部门"
},
{
"id": 106,
"label": "财务部门"
},
{
"id": 107,
"label": "运维部门"
}
]
}

优化成一维

[
{
"id": 103,
"label": "研发部门"
},
{
"id": 104,
"label": "市场部门"
},
{
"id": 105,
"label": "测试部门"
},
{
"id": 106,
"label": "财务部门"
},
{
"id": 107,
"label": "运维部门"
},
{
"id": 108,
"label": "市场部门"
},
{
"id": 109,
"label": "财务部门"
}
]

前端代碼

让复选框纵向排列
<div class="leftStyle">                       
      <el-checkbox-group v-model="deptOptions">
            <el-checkbox style="display: block; padding-top: 10px" v-for="(e, i) in   deptOptions"
                :key="i" :label="e.id" @change="pushLabel($event, e, i)">{{ e.label
                }}</el-checkbox>
        </el-checkbox-group>
</div>





//data
deptOptions: [],
j:[],

// methods:
        pushLabel(e, b) {
            console.log(e); //e为true或false
           
            if (e) {

                console.log(JSON.stringify(b));
                
                this.j.push(b.id)     

            } else {
                this.j.forEach((item, i) => {
                    if (item == b.id) {
                        this.j.splice(i, 1)
                    }
                })
            }

            console.log(JSON.stringify(this.j));
            this.f.deptIds = this.j  //部门id传给后台

        },



在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值