欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

vue elementUI tree树形控件获取父节点ID的实例

程序员文章站 2023-11-24 15:52:34
首先找到element-ui.common.js文件 如下 具体看你工程下的node_modules d:\workspace\vue_manage\node_modul...

首先找到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判断

 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;
 };

然后重启项目

console.log(this.$refs.tree.getcheckedkeys());就可以拿到父节点的id啦

以上这篇vue elementui tree树形控件获取父节点id的实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。