ELementUI 树形控件tree 获取子节点同时获取半选择状态的父节点ID

时间:2021-12-04 09:47:48

使用element-ui  tree树形控件的时候,在选择一个子节点后,使用getCheckedKeys 后,发现只能返回子节点的ID,但是其父节点ID没有返回。

解决办法有三种:

1.element-ui 有一个获取半选择状态值ID得方法

  getHalfCheckedKeys   这个方法用来获取父节点半选择状态ID值

2.修改源码

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

  按Ctrl+F搜索TreeStore.prototype.getCheckedKeys这个方法

  把if(node.checked)改为if (node.checked||node.indeterminate)

3.package.json文件里的elmentui插件下载地址导向自己建立的库

  把node_modules中需要修改的的插件代码拉出来,建一个代码仓库,自己维护,想怎么改就怎么改。然后在原项目的package.json中,把引用代码的地方改了。

之前的package.json里面是下面这样的

...
"dependencies": {
...
"某插件": "^2.2.1",
...
},
...
你把插件的代码拉出来,自己建一个仓库,然后把package.json里面的引用改成下面这样,
...
"dependencies": {
...
"某插件": "git+ssh://xxxxxxxxxx.git", // 这里是你代码的git地址
...
},
...
当你修改了插件的代码时,直接重新在项目里npm install就行