el-select 多选模式下嵌套el-tree 删除tag时能去掉el-tree对应节点的勾

686 阅读1分钟

el-select 多选模式,嵌套 el-tree,要求删除tag的时候去掉el-select上选中树节点的勾。 通过 getCheckedNodes 获取所有选中的节点,然后遍历找到要删除的值实现删除。 注意不能用getCheckedKeys,getCheckedKeys只是获取id,tag的值不是id。而getCheckedNodes 可以获取节点所有内容 不适用于树懒加载

removeTag(tag){
  let checNodes = this.$refs.treeRef.getCheckedNodes();           
  // 删除节点
  for(let i = 0; i < checNodes.length; i++){
      if(checNodes[i].name == tag){
          checNodes.splice(i, 1);
          break;
      }
  }

  // 设置 tree 选中的节点
  this.$refs.treeRef.setCheckedNodes(checNodes);
}

本文转载于