在日常的开发中,我们会经常遇到棘手的问题,就是树状结构的数据处理,现在的大多数的树状结构的代码都是来源于elementUI,在elementUi中,提供了很多的方法供我们选择
现在遇到了这样一个功能,当我们首次进入当前页面时,会展示全部的树状结构,我们可以在展示的树状结构中去勾选我们需要的,单击保存,将我们所勾选的节点通过一个新的树状结构展示出来,如图:
解决方案:
首先,在elementUI中提供了方法,可以将我们半选和全选的节点以树状结构数据的格式返回给我们,
我们可以把这些半选和全选的节点的名称或者其他用来标识的变量拿出来,放到数组里,然后用全部的树状结构的数据对这个数组进行遍历,如果全部树状结构中的某一个节点的名称没有在这个数组里,那么将它删除,最后将处理完的树状结构数据赋值给新的tree,功能就可以实现,其中的删除操作是通过递归实现的(nodeform为我们处理完的选中的数组)
最后注意!!!!!,将我们处理完的data数据赋给tree时,数据类型一定要是数组!!!!