elementUI的el-tree通过id获取数据

elementUI的el-tree通过id获取数据,第1张

const parentList = []function getParent (node) { // 判断当前节点是否有父节点,并且父节点上的data不能是数组 if (nodeparent && !ArrayisArray(nodeparentdata)) { // 将父节点上data的menuid存储在 `parentlist` 里 nodeparentdata instanceof Object && thisparentListpush(nodeparentdataid) // 递归调用 父节点上有父节点 getParent(nodeparent) // 当父节点上data是数组时点击对象为当前tree最高目录 并且parentList必须是0 } else if (thisparentListlength === 0) { // 存储当前节点的id到parentList thisparentListpush(nodedataid) } }

于是我参考着改了一点点,记录一下,写得不好,仅供参考, 见谅~

---------------data中-------------------

------------------methods---------------------

引用**姐的一段话

但是,(又敲黑板!!!)我们给后台传过去了父节点,如果有反显的情况下(如:修改,查看功能),一旦有父节点,子节点又将会全部勾选!!这种情况下又该怎么办呢?

思路如下:

1循环遍历出最深层子节点,存放在一个数组中

2将后台返回的含有父节点的数组和第一步骤遍历的数组做比较

3如果有相同值,将相同值取出来,push到一个新数组中

4利用这个新的重组的数组给Tree组件selected赋值

不知道我有没有正确理解你的需求,你是想从后台加载root节点。

试了很多方法都不行,只能用笨的了,虽然笨,但实现是没有问题。大致思路是从后台获取一个json对象之后。再把json对象中的值设置到一个节点中,再把这个节点通过ExttreeTreePanel

用的最麻烦的方式获取到最终树形图的数据,原理是通过改变属性图真实数据,过程就是利用递归循环查找被点击的dataid与数据中哪个对象id相等来进行判断与递归。包括增删改都是利用这个方法,没找到框架提供的api有关于获取最终数据的参数。。。打印出来的store一直是原始数据。可能功能还不太完善吧,用个框架这个麻烦!

你这种做法是不对的

你需要的是递归 /// <summary>

/// 获得所有被选中的节点

/// </summary>

/// <param name="Nodes">节点集合</param>

private bool GetTargetNode(TreeNodeCollection Nodes)

{

bool success=true;

foreach (TreeNode TN in Nodes)

{

if (TNChecked)

{

//保存数据你想要的数据到数据库

if (保存失败)

{

success=false;

break;

}

}

success=GetTargetNode(TNNodes);

if(!success)

break;

}

return success;

}

调用

if(GetTargetNode(treeView1Nodes))

成功

else

失败

以上就是关于elementUI的el-tree通过id获取数据全部的内容,包括:elementUI的el-tree通过id获取数据、[antd of vue] a-tree组件子节点不完全勾选获取父节点的值、EXT4.2的tree.panel里面的数据怎么获取等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/9443097.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-28
下一篇2023-04-28

发表评论

登录后才能评论

评论列表(0条)

    保存