怎么在微信小程序用vue2语法实现一个多级折叠面板呀,
在插件市场找不到多级的折叠,自己尝试封装也失败了
写了一个很简单的组件递归调用,你要实现的多级主要是实现组件本身的递归调用,样式和事件可以自己尝试补充一下。
首先是外部调用组件:
<script>
import Tree from './components/tree.vue'
export default {
name: '',
components: { Tree },
data() {
return {
treeList: [
{
name: '总部',
children: [{ name: '研发部', children: [{ name: '研发一部' }, { name: '研发二组' }] }, { name: '行政部' }],
},
{ name: '营销中心', children: [{ name: '营销一部' }, { name: '营销二部' }] },
],
}
},
}
</script>
<template>
<Tree :data="treeList"></Tree>
</template>
组件内部实现:
<script>
export default {
name: 'Tree',
props: {
data: {
type: Array,
default: [],
},
},
}
</script>
<template>
<ul>
<li v-for="item in data">
{{ item.name }}
<template v-if="item.children">
<span>></span>
<Tree :data="item.children"></Tree>
</template>
</li>
</ul>
</template>
2 回答1.7k 阅读✓ 已解决
1 回答1.3k 阅读✓ 已解决
2 回答1.9k 阅读✓ 已解决
2 回答1.4k 阅读✓ 已解决
1 回答1.1k 阅读✓ 已解决
1 回答1.9k 阅读✓ 已解决
1 回答1.3k 阅读✓ 已解决
react写的,vue你改改就行了,就是个递归而已