vue循环出来的这种结构如何控制显示隐藏

点击二级菜单如何控制三级菜单的显示隐藏

<template>

<div class="hello">

<ul>

<li v-for="(item,index) in options" :key="index">

<div class="a_menu">{{ item.label }}</div>

<div class="b_menu">

<span v-for="(i,index) in item.children" :key="index" @click="showCont(index)">{{ i.label }}

<div v-if="">

<div v-for="(x,index) in i.children" :key="index" class="c_menu">{{ x.label }}</div>

</div>

</span>

</div>

</li>

</ul>

</div>

</template>

<script>

export default {

name: 'HelloWorld',

data () {

return {

thisIndex: -1,

options: [

{

value: 'zhinan',

label: '指南',

children: [{

value: 'shejiyuanze',

label: '设计原则',

children: [{

value: 'yizhi',

label: '一致'

}, {

value: 'fankui',

label: '反馈'

}, {

value: 'xiaolv',

label: '效率'

}, {

value: 'kekong',

label: '可控'

}]

}, {

value: 'daohang',

label: '导航',

children: [{

value: 'cexiangdaohang',

label: '侧向导航'

}, {

value: 'dingbudaohang',

label: '顶部导航'

}]

}]

}, {

value: 'zujian',

label: '组件',

children: [{

value: 'basic',

label: 'Basic',

children: [{

value: 'layout',

label: 'Layout 布局'

}, {

value: 'color',

label: 'Color 色彩'

}, {

value: 'typography',

label: 'Typography 字体'

}, {

value: 'icon',

label: 'Icon 图标'

}, {

value: 'button',

label: 'Button 按钮'

}]

}]

}]

}

},

methods: {

showCont (index) {

// if (this.thisIndex === null) {

// this.thisIndex = index

// }else {

// this.thisIndex = null

// }

},

}

}

</script>

<style scoped>

ul {

margin-top: 30px;

padding-right: 40px;

}

li {

overflow: auto;

list-style: none;

margin-bottom: 20px;

line-height: 35px;

}

.a_menu {

float: left;

font-size: 18px;

font-weight: bold;

color: #507ab7;

width: 200px;

}

.b_menu {

float: left;

}

span {

display: inline-block;

margin: 0 30px 0 0;

color: #6c6c6c;

}

</style>

回答

二级菜单可以考虑增加一个属性控制是否展开三级菜单, 然后在二级菜单的click事件直接把二级菜单传进去,不用传index

以上是 vue循环出来的这种结构如何控制显示隐藏 的全部内容, 来源链接: utcz.com/a/37314.html

回到顶部