一、使用情景
SelectTree 下拉树可以看成是树与下拉框的结合版,但是树的点击事件在下拉树这并不适用。
二、使用情景
选择任意一个父集的子集,要获取到当前子集的父级并一起进行保存操作 。在这里插入图片描述
三、解决办法
(1)通过下拉树组件自带方法@confirm来完成。使用它的前提是必须要把需要的数据传入,否则,点击事件不会获取任何数据。
在这里插入图片描述
(2)在方法中进行匹配循环,因为我传入的数据是当前选择的子集Id与全部树的数据,因此这里我需要进行循环比较,并找出子集对应的父集,并一起存进去。
在这里插入图片描述
这里面:data.indexOf(dataList[i].children[x].id) !== -1 代表数组data里面如果包括dataList[i].children[x].id则不等于-1.相反不包括就等于-1.
这样,就完成了将父级和选择子级放在一个数组this.ptreeId中。
三、在我所面临的情景中还包含一个编辑操作,是将下拉树的数据传回来默认展示在下拉框中,此时,传回来的数据包含一个父级则set会导致此父级元素全被默认选择,因此在det数据的时候,我们还得将父级排除。。。。。
在这里插入图片描述
总结:这个方法看起来很繁琐,但是目前没有想到更好的办法。

Logo

前往低代码交流专区

更多推荐