时间:2021-07-01 10:21:17 帮助过:45人阅读
本文实例为大家分享了vue文件树组件的实现方法,供大家参考,具体内容如下
本文主要是分析vue官方仓库里的文件树组件[vue github]
首先是html模板:
<li>
<p
//文件夹加粗表示
:class="{bold: isFolder}"
//处理单击事件 打开闭合文件列表
@click="toggle"
//处理双击事件 双击子文件,子文件属性变为文件夹
@dblclick="changeType">
//显示文件名
{{model.name}}
//若是文件夹的话则显示[+]来控制文件夹的开关闭合
<span v-if="isFolder">[{{open ? '-' : '+'}}]</span>
</p>
<ul v-show="open" v-if="isFolder">
//利用v-for显示子文件列表,通过递归使用item组件来完成文件树
<item
class="item"
v-for="model in model.children"
:model="model">
</item>
//增加一个+标记,单击可以增加子文件
<li class="add" @click="addChild">+</li>
</ul>
</li>接下来是组件部分的源码:
所以设计思路就是通过判断对象是否有子节点来决定是文件夹还是文件,然后通过递归复用<item>组件来展示文件树的效果。
最后是传入组件的数据格式:
上面是我整理给大家的,希望今后会对大家有帮助。
相关文章:
原生nodejs使用websocket代码分享
详解nodejs通过响应回写的方式渲染页面资源
vue下拉列表功能实例代码
以上就是vue文件树组件使用详解的详细内容,更多请关注Gxl网其它相关文章!