vue elementUI tree樹形控制元件如何獲取父節點ID
阿新 • • 發佈:2019-01-22
首先找到element-ui.common.js檔案 如下 具體看你工程下的node_modules
D:\workSpace\vue_manage\node_modules\element-ui\lib\element-ui.common.js
找到getCheckedNodes該方法 細節如下我的該方法在21618行
TreeStore.prototype.getCheckedNodes = function getCheckedNodes() { var leafOnly = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false; var checkedNodes = []; var traverse = function traverse(node) { var childNodes = node.root ? node.root.childNodes : node.childNodes; childNodes.forEach(function (child) { if (child.checked && (!leafOnly || leafOnly && child.isLeaf)) { checkedNodes.push(child.data); } traverse(child); }); }; traverse(this); return checkedNodes; };
修改 其中的if判斷
然後重啟專案 console.log(this.$refs.tree.getCheckedKeys());就可以拿到父節點的ID啦TreeStore.prototype.getCheckedNodes = function getCheckedNodes() { var leafOnly = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false; var checkedNodes = []; var traverse = function traverse(node) { var childNodes = node.root ? node.root.childNodes : node.childNodes; childNodes.forEach(function (child) { if ((child.checked || child.indeterminate) && (!leafOnly || leafOnly && child.isLeaf)) { checkedNodes.push(child.data); } traverse(child); }); }; traverse(this); return checkedNodes; };