vue elementui el-tree 设置父级不可选 子级只能单选

文章介绍了如何使用Vue.js的el-tree组件来创建一个具有复选框的树结构,并实现严格单选模式。通过`show-checkbox`,`check-strictly`属性以及自定义的`disabled`函数控制节点选中状态。同时,`@check-change`事件用于处理节点选择变化,更新选定节点的ID。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 

<el-tree 
  ref="tree" 
  :data="menuOptions" 
  show-checkbox 
  node-key="id" 
  check-strictly 
  empty-text="加载中,请稍候" 
  :props="defaultProps" 
  @check-change="handleCheckChange"
  >
</el-tree>
  data() {
    return {
      // 菜单列表
      menuOptions: [],     
      defaultProps: {
        children: "children",
        label: "label",
        disabled: function (data, node) {//带子级的节点不能选中
          if (data.children && data.children.length > 0) {
            return true
          } else {
            return false
          }
        }
      },      
    };
  },

  //在methods里
  handleCheckChange(data, checked){//子级只能单选
    if(checked){
      this.menuOptions.id = data.id
      this.$refs.tree.setCheckedKeys([data.id],true)
    }else{
      this.menuOptions.id = null
    }
  },

评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值