前端 将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()

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

相关推荐
spionbo4 分钟前
Vue 表情包输入组件实现代码及完整开发流程解析
前端·javascript·面试
全宝5 分钟前
✏️Canvas实现环形文字
前端·javascript·canvas
lyc2333335 分钟前
鸿蒙Core File Kit:极简文件管理指南📁
前端
我这里是好的呀5 分钟前
全栈开发个人博客12.嵌套评论设计
前端·全栈
我这里是好的呀6 分钟前
全栈开发个人博客13.AI聊天设计
前端·全栈
金金金__7 分钟前
Element-Plus:popconfirm与tooltip一起使用不生效?
前端·vue.js·element
lyc2333338 分钟前
小L带你看鸿蒙应用升级的数据迁移适配📱
前端
用户268128510666914 分钟前
react-pdf(pdfjs-dist)如何兼容老浏览器(chrome 49)
前端
阿怼丶14 分钟前
🚀 如何在内网中运行 Cesium?基于 NestJS 构建离线地形与影像服务
前端·gis