标签:abs img rom tree 草稿 enter func none sub
参照前辈方法实现的,觉得不错,记录一下:

父组件:
<!-- 菜单树 -->
<ul class="T_down" v-for="(menuItem,index) in customerArray" :key="index">
<tree-menu :treeData="menuItem"></tree-menu>
</ul>
import treeMenu from ‘./treeMenu.vue‘
myMailTree: [
{
id: 0,
label: ‘发件箱‘,
children: []
},
{
id: 1,
label: ‘收件箱‘,
children: [
{
id: 11,
label: ‘常用邮件‘,
},
{
id: 12,
label: ‘常用邮件‘,
children: [
{
id: 11,
label: ‘常用邮件‘,
children: [
{
id: 11,
label: ‘常用邮件‘,
},
{
id: 12,
label: ‘常用邮件‘,
children: [
{
id: 11,
label: ‘常用邮件‘,
},
{
id: 12,
label: ‘常用邮件‘,
children: [
{
id: 11,
label: ‘常用邮件‘,
},
{
id: 12,
label: ‘常用邮件‘,
},
]
},
]
},
]
},
{
id: 12,
label: ‘常用邮件‘,
},
]
},
]
},
{
id: 3,
label: ‘草稿箱‘,
},
],
components: {
‘tree-menu‘: treeMenu
},
子组件:
<template>
<li>
<h3>
<i v-if="isFolder" @click="toggle" class="iconfont" :class="[open ? ‘icon-arrow-down‘: ‘icon-arrow-right‘]"></i>
<span class="label">{{treeData.label}}
<em>(99)</em>
</span>
<span class="T_set">
<i class="iconfont icon-subordinate"></i>
<i class="iconfont icon-subordinate"></i>
<i class="iconfont icon-subordinate"></i>
</span>
</h3>
<ul class="T_down" v-show="open" v-if="isFolder">
<tree-menu v-for="item in treeData.children" :key="item.id" :treeData="item"></tree-menu>
</ul>
</li>
</template>
<script>
export default {
name: ‘treeMenu‘,
props: [‘treeData‘],
data() {
return {
open: false
}
},
computed: {
isFolder() {
return this.treeData.children && this.treeData.children.length
}
},
methods: {
toggle: function() {
if (this.isFolder) {
this.open = !this.open
}
}
}
}
</script>
less
ul.T_down { //菜单树 // border: 1px solid red; background-color: #fff; padding-left: 17px; line-height: 35px; li { >h3 { // border: 1px solid red; font-weight: normal; font-size: 14px; padding-left: 23px; cursor: default; position: relative; >i.iconfont { display: block; width: 23px; height: 100%; text-align: center; font-size: 12px; position: absolute; left: 0; top: 0; &:hover { color: #008cee; cursor: pointer; } } >span.label { color: #555; >em { font-size: 12px; font-style: normal; color: #888; } } &:hover { background-color: #ddd; span.T_set { display: block; } } span.T_set { float: right; margin-right: 10px; display: none; i.iconfont { display: inline-block; padding: 0 2px; font-size: 13px; &:hover { color: #008cee; cursor: pointer; } } } } } }
参考链接:
https://www.cnblogs.com/caihg/p/6208105.html
标签:abs img rom tree 草稿 enter func none sub
原文地址:http://www.cnblogs.com/xiangsj/p/7843477.html