哪位大佬可以详细讲解下,uniapp封装树形控件的思想?

哪位大佬可以详细讲解下,uniapp封装树形控件的思想?

阅读 1.4k
1 个回答

本质就是递归,自己调用自己,你懂js的递归就行了
企业微信截图_1686290307650.png

<template>
  <view class="dept">
    <view class="dept-name">{{ dept.name }}</view>
    <view class="users">
      <view class="user" v-for="user in dept.users" :key="user.id">
        {{ user.name }}
      </view>
    </view>
    <view class="sub-depts">
      <dept v-for="subDept in dept.depts" :key="subDept.id" :dept="subDept" />
    </view>
  </view>
</template>
<script>
export default {
  name: 'dept',
  props: {
    dept: Object
  },
  components: {
    'dept': () => import('./Dept.vue')  // 递归引用自身
  }
}
</script>

然后:

<template>
  <view class="tree">
    <dept v-for="dept in data.depts" :key="dept.id" :dept="dept" />
  </view>
</template>

<script>
import Dept from './Dept.vue'

export default {
  components: {
    Dept
  },
  data() {
    return {
      data: {
        depts: [
          // 你的数据
        ]
      }
    }
  }
}
</script>
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题