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了