根据接口返回字段判断el-tree的复选框是否禁选

本文介绍了如何在Element UI的el-tree树结构中,通过自定义disabled属性,根据后端接口数据判断节点是否禁选。通过`filterDeviceNode`和`handleCheckChange`回调函数,实现实时节点状态控制。
摘要由CSDN通过智能技术生成

el-tree树结构:

  <el-tree
                class="device-tree"
                :data="deviceData"
                node-key="id"
                :props="defaultDeviceProps"
                default-expand-all
                :filter-node-method="filterDeviceNode"
                ref="deviceTree"
                show-checkbox
                :expand-on-click-node="false"
                @check-change="handleCheckChange"
              >
                <span class="custom-tree-node" slot-scope="{ node, data }">
                  <span :title="node.label" class="show-ellipsis">{{ node.label }}</span>
                </span>
              </el-tree>

在defaultDeviceProps配置disabled项。参考官网:

回调函数return布尔值,true是禁选,false是不禁选,通过data就可以拿到后端接口返回字段

代码实现:

 defaultDeviceProps: {
        children: 'children',
        label: 'label',
        disabled: (data, node) => {
          //先判断该设备是否已存在于该分组的下级设备里,如果存在则设置为禁选
          let obj = this.subEquipmentList.find(item => {
            return item.equipmentId == data.id && data.device
          })
          //根据接口字段device判断该节点是否是设备,如果device是false就不是设备,就将该节点设置为禁选,如果是设备就不禁选
          return obj ? true : !data.device
        }
      }

 页面效果:

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值