js递归遍历树结构(ant Design Vue的树形控件)

ant Design Vue的树形控件中要求的数据格式如下:

treeData = [ {
    name: '总文件夹',
    key: '0',
    children: [
      {
        name: '文件夹1',
        key: '0-0',
        children: [
          { name: '文件夹1-1', key: '0-0-1'},
          { name: '文件夹1-2', key: '0-0-2' },
        ],
      }
    ]
  }]

后台返回的数据结构是:

treeData = [ {
    value: '总文件夹',
    id: '0',
    children: [
      {
        value: '文件夹1',
        id: '0-0',
        children: [
          { value: '文件夹1-1', id: '0-0-1'},
          { value: '文件夹1-2', id: '0-0-2' },
        ],
      }
    ]
  }]

所以需要用递归方法整理下后台返回的值,方法如下:

treeDataFun(data) {
	let arr = []
	data.forEach(item=>{
		arr.push({
			key: item.id,
			name: item.value,
			children: this.treeDataFun(item.data)
		})
	})
	return arr;
}
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Vue中,可以使用递归组件来实现对树结构遍历。在提供的引用中,引用和引用中的代码都展示了如何使用递归遍历树结构。通过递归遍历,我们可以遍历树的每个节点,并执行一些操作。在引用中的代码示例中,通过递归遍历树,将树中的数字类型的id转换为String类型。而在引用中的代码示例中,通过递归遍历树,找到指定id的节点,并将其checked属性设置为true。 在Vue中,可以创建一个递归组件,该组件在模板中调用自身来实现树的递归遍历。这使得我们可以在递归组件的模板中访问和操作每个节点的数据。在递归组件的代码中,我们可以使用v-for指令来遍历子节点,并对每个子节点进行递归调用。这样,我们就可以递归遍历整个树结构。 请注意,递归遍历树结构需要考虑递归的结束条件和递归调用的方式,以避免无限循环。通常情况下,我们可以通过判断节点是否有子节点来确定递归的结束条件。 因此,如果您想在Vue中实现递归遍历树结构的功能,可以参考引用和引用中的代码示例,并根据您的具体需求进行调整。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* [递归遍历树结构数据(jsvue)](https://blog.csdn.net/weixin_45776308/article/details/128579753)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT0_1"}}] [.reference_item style="max-width: 50%"] - *3* [利用Vue2.x开发实现JSON树的方法](https://download.csdn.net/download/weixin_38597990/14807803)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT0_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值