Element ui tree树形控件获取当前节点id和父节点id

第一种情况:在有复选框的情况下

方法一

1.找到node_modules/element-ui/lib/element-ui.common.js文件

2.按Ctrl+F搜索TreeStore.prototype.getCheckedKeys这个方法,低版本教程到这一步就直接修改了(具体看上面教程),发现没有找到if(node.checked)  如图:

但可以发现它return this.getCheckedNodes  我们搜索这个方法试试(其实这个函数就在当前函数的上面)。如图:

将上面的代码改成:

保存重启就可

方法二:

elementUI官网中给出的

        this.$refs.tree.getHalfCheckedKeys().concat(this.$refs.tree.getCheckedKeys()) 

第二种情况:没有复选框,只是单纯的点击节点

方法一:

直接在el-tree单击时获取当前节点node,会接收三种参数,分别是当前data节点数据,node当前节点,root根节点数据,我们获取当前node节点即可,通过node.parent可获取父节点数据,祖先级可一层层遍历上去node.parent.parent获取。

let oriFatherId = node.parent.parent.data  // 祖父节点信息

let fatherId = node.parent.data  // 父节点信息

方法二:

可通过单击获取当前节点id,通过el-tree中parentNode=getNode(node.parent.id)获取祖父节点数据。这个属于比较绕一点的,使用这个方式需要节点id唯一,不能重复,否则就会查到多个id,节点不唯一

猜你喜欢

转载自blog.csdn.net/ShIcily/article/details/110175002