Element-ui官网给的方法
getCheckedKeys() { console.log(this.$refs.tree.getCheckedKeys()); },
这种只有在所有子级都被选中的情况下才能获得父级的id,如果不选中所有的子级那么获取得到的id就只有子级的。但是一般提交数据时后台都需要父级id的。
1.找到node_modules/element-ui/lib/element-ui.common.js文件
2.按Ctrl+F搜索TreeStore.prototype.getCheckedKeys这个方法
3.把if(node.checked)改为if (node.checked||node.indeterminate) 如下:
TreeStore.prototype.getCheckedKeys = function getCheckedKeys() { // var _this4 = this; var leafOnly = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false; var key = this.key; var allNodes = this._getAllNodes(); var keys = []; allNodes.forEach(function(node){ if(!leafOnly || leafOnly && node.isLeaf){ if(node.checked||node.indeterminate){ keys.push((node.data || {})[key]); } } }) return keys; // return this.getCheckedNodes(leafOnly).map(function (data) { // return (data || {})[_this4.key]; // }); };
4.保存重启项目console.log(this.$refs.tree.getCheckedKeys());这样就可以看到父级和子级的id了