前端 将list转为树结构

需求:将后台传递的集合转为组件需要的树形结构

结果如下:

具体转化:

复制代码
<el-form-item label="xxxxx" prop="xx">
         <el-tree-select
           node-key="label"
           v-model="from.xxId"
           :data="treedData"
           :props="defaultProps"
           :render-after-expand="false"
         />
</el-form-item>
const treedData = ref([])
const defaultProps = {
  children: 'children',
  label: 'label'
}
async function getXxxInfo() {
  const data = await xxApi.geXxxInfo(params)
  console.log(data.list)
  let obj = {}
  data.list.forEach((item) => {
    if (obj.hasOwnProperty(item['xx'])) {
      obj[item['xx']].push({ ...item, label: item.ebankId })
    } else {
      obj[item['xx']] = []
      obj[item['xx']].push({ ...item, label: item.ebankId })
    }
  })

  for (let x in obj) {
    treedData.value.push({ label: x, children: obj[x] })
  }
}

getXxxInfo()

记录一下,大家有其他更好的办法也可以贴出来最近太忙了,抽空记录下,需要的可以参考下

相关推荐
CodeAI几秒前
不会 Next.js 你好意思说自己是 React 开发者?从零到上线一条龙
前端
霁月的小屋11 分钟前
不只是压缩:当模型蒸馏开始复制人格
前端·ai
inksci11 分钟前
使用飞帆的上传组件
前端·javascript
里欧跑得慢15 分钟前
微交互设计模式:提升用户体验的细节之美
前端·css·flutter·web
xiao阿娜的妙妙屋115 分钟前
做知识视频效率提升10倍!知识博主用什么AI工具做知识视频?我的答案是即梦Seedance 2.0
前端
干洋芋果果15 分钟前
前端学python
开发语言·前端·python
FOREVER-Q17 分钟前
基于 Vite 的前端 SDK 工程化设计与模块化构建实践
开发语言·前端·javascript
stringwu25 分钟前
Flutter GetX 核心坑及架构选型与可替换性方案
前端·flutter
耗子君QAQ26 分钟前
为什么 AI 写代码也需要说明书?
前端·javascript·ai编程
h_654321026 分钟前
公告/消息提示从右向左循环滚动vue
前端·javascript·vue.js