el-tree限制选中个数

 el-tree限制选中个数

 <el-tree
          style="max-width: 600px"
          :data="Treedata"
          :check-strictly="true"
          show-checkbox
          node-key="id"
          :props="defaultProps"
          :default-expanded-keys="['1', '2']"
          ref="treeRef"
          @check="handleCheckChange"
        />
const handleCheckChange = (data: any, checked: any) => {
  const selectedNodes = treeRef.value.getCheckedNodes();
  if (selectedNodes.length > 3 && checked) {
    treeRef.value.setChecked(data, false); // 取消选中超出限制的节点
    ElMessage.warning(`您最多只能选择 ${3} 个节点!`);
  }
};
const handleCheckChange= (currNode: any, checkedInfo: any) => {
  let checkedKeys = checkedInfo.checkedKeys || [];
  let treeNodesMap = treeRef.value.store?.nodesMap || {};
  let status = checkedKeys.length >= 3;
  if (status) {
    ElMessage.warning(`您最多只能选择 ${3} 个节点!`);
  }
  Object.keys(treeNodesMap).forEach((key) => {
    let item = treeNodesMap[key] || {};
    if (!checkedKeys.includes(key)) {
      let data = item.data || {};
      data.disabled = status;
      treeRef.value.setCurrentNode(data);
    }
  });
};

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

花归去

客官赏点吧

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值