使用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就行
