el-tree根据id集合选中树节点(树节点回显)

 1.全选中

           

   查询需要选中的节点列表,push进selNodesIds数组中

    instance.queryTreeIds()).then((res) => {
        var selNodesIds= []
        if (res.data.length > 0) {
          res.data.map(item => {
            if (item.menuLevel!=1) {
              selNodesIds.push({id: item.id})
            }
          })
        }
      })

结构入下:

el-tree根据id集合选中树节点(树节点回显)_第1张图片

最后调用语句:

setTimeout(() => {   //等组件生成再调用init;
        this.$refs.myTree.setCheckedNodes(selNodesIds)
      }, 200)

这里用延时是因为节点在第一次选中时可能会有延迟

效果如下:

el-tree根据id集合选中树节点(树节点回显)_第2张图片

2.半选中

当选中根节点时会默认选中它的所有子节点

目前我也没有找到Element官方的半选中方法, 若有的话欢迎广大网友指出

采用的方法是:

判断节点是否为根节点,若是,则不push进数据中

这样在选中子节点的时候就会默认选中它的父节点拉

你可能感兴趣的:(技术整理)