el-tree动态判断灵活设置checkbox的disabled

本文探讨了在el-tree组件中如何高效地动态设置checkbox的disabled属性,提供了三种解决方案:一是增加不必要的递归;二是利用接口内置布尔字段;三是推荐使用回调函数实现灵活判断。最后给出了适用的代码示例。
摘要由CSDN通过智能技术生成

需求:

el-tree动态判断设置checkbox的disabled

在这里插入图片描述



常见的处理方式一:(不建议):

在接口获取到data后,进行递归,根据对应的算法,增加disabled的字段

缺点:

平白无故增加一次递归,效率和代码量不理想



常见的处理方式二:(适用与接口内有现成的boolean字段和disabled对应)

el-tree的props内设置{disabled : 'isDisabled '}(详见下方代码)

优点:

简单、快速

缺点:

对接口有一定要求,且拓展性和灵活性较弱



常见的处理方式三:(推荐,万金油方案,适用所有场景,且灵活度和拓展性高)

通过开头图片可知,disabled也可以接收一个回调方法,并根据其return值进行判断
(详见下方代码)

优点:

性能好,对后端无依赖,灵活度高,拓展性高,可灵活应对各种需求变更的场景

缺点:

暂无发现,欢迎补充


附代码

<!-- template -->
<el-tree
      ref="elTree"
      :data="data"
      :props="defaultProps"
/>

<!-- script -->
data () {
    return {
      data: [],
      defaultProps: {
        children: 'children',
        label: 'name',
        //支持func和Boolean
        // disabled : 'isDisabled ' //方案二、若有现成的boolean字段,可直接配置字符串
        disabled (data, node) { //方案三、若需要算法建议使用func,return一个boolean值
          return data.type === '1'
        }
      },
    }
  },
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值