基于vue.js实现移动端树形结构的封装

本文介绍了如何使用Vue.js在移动端实现树形结构的封装。主要技术点包括数据处理和组件设计,通过示例展示了组件的效果,并提供了代码实现。后续计划扩展滑动操作和上下拉加载功能。
摘要由CSDN通过智能技术生成

前言

前些日子做了一个pc端树形表格的功能,由于项目需要,移动端也要一个树形展示,虽然很不情愿,个人觉得在移动端做多级树结构不是不合理,操作也不方便,但是没办法,给产品交(si)流(bi)很久还是乖乖去做。

主要技术点:vue子组件的递归实现及相关样式的实现

话不多说,先看效果图(在线预览)(数据和树表格是同一个):



注:上面这个iPhoneX效果图是用Devices.css实现的,模拟手机上显示效果。

代码实现

tree-list.vue页面负责接收主页面传递的数据,然后将数据通过initTreeData方法组合成树结构需要的格式。

    initTreeData() {
      // 临时储存数据
      let tempData = JSON.parse(JSON.stringify(this.list))
      let reduceDataFunc = (data, level) => {
        data.map((m, i) => {
          m.isExpand = m.isExpand || false
          m.children = m.children || []
          m.level = level
          if (m.children.length > 0) {
            reduceDataFunc(m.children, level + 1)
          }
        })
      }
      reduceDataFunc(tempData, 1)
      this.treeDataSource = tempData
    }
复制代码

tree.vue子组件用于组件循环嵌套

<
  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值