el-tree限制选中个数的实例

作者:雾松

时间:2026-11-01

浏览:384

本文介绍了在Vue中使用el-tree组件时限制用户最大选中节点数量的实现方法。通过监听check事件,获取当前选中节点列表,当选中数量超过设定阈值时,自动取消新选中的节点并弹出警告提示。

文章目录

el-tree限制选中个数的实现方法

在Vue项目中,若需对el-tree组件的选中数量进行限制,可通过监听check事件实现。

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);
    }
  });
};

至此,关于el-tree限制选中个数的介绍完毕。如需了解更多相关内容,欢迎查阅本站往期文章或继续浏览后续教程,感谢您的支持!

实用工具推荐

电子包浆

绿化、压缩、噪点和虚拟水印,自由调节做旧程度。

使用 ›
图片压缩

选择画质和输出格式,预览压缩前后的大小。

使用 ›
相关文章