2016-12-07 20:45:21 +08:00
|
|
|
<template>
|
2018-04-04 12:01:29 +08:00
|
|
|
<div>
|
|
|
|
<Menu ref="menu" active-name="1-2" :open-names="openNames" theme="dark" accordion @on-open-change="handleOpenChange">
|
|
|
|
<Submenu name="1">
|
|
|
|
<template slot="title">
|
|
|
|
<Icon type="ios-analytics"></Icon>
|
|
|
|
Navigation One
|
|
|
|
</template>
|
|
|
|
<MenuGroup title="Item 1">
|
|
|
|
<MenuItem name="1-1">Option 1</MenuItem>
|
|
|
|
<MenuItem name="1-2">Option 2</MenuItem>
|
|
|
|
</MenuGroup>
|
|
|
|
<MenuGroup title="Item 2">
|
|
|
|
<MenuItem name="1-3">Option 3</MenuItem>
|
|
|
|
<MenuItem name="1-4">Option 4</MenuItem>
|
|
|
|
</MenuGroup>
|
2017-07-12 15:18:26 +08:00
|
|
|
</Submenu>
|
2018-04-04 12:01:29 +08:00
|
|
|
<Submenu name="2">
|
|
|
|
<template slot="title">
|
|
|
|
<Icon type="ios-filing"></Icon>
|
|
|
|
Navigation Two
|
|
|
|
</template>
|
|
|
|
<MenuItem name="2-1">Option 5</MenuItem>
|
|
|
|
<MenuItem name="2-2">Option 6</MenuItem>
|
|
|
|
<Submenu name="3">
|
|
|
|
<template slot="title">Submenu</template>
|
|
|
|
<MenuItem name="3-1">Option 7</MenuItem>
|
|
|
|
<MenuItem name="3-2">Option 8</MenuItem>
|
|
|
|
</Submenu>
|
|
|
|
<Submenu name="4">
|
|
|
|
<template slot="title">Submenu</template>
|
|
|
|
<MenuItem name="4-1">Option 7</MenuItem>
|
|
|
|
<MenuItem name="4-2">Option 8</MenuItem>
|
|
|
|
</Submenu>
|
|
|
|
</Submenu>
|
|
|
|
<Submenu name="5">
|
|
|
|
<template slot="title">
|
|
|
|
<Icon type="ios-gear"></Icon>
|
|
|
|
Navigation Three
|
|
|
|
</template>
|
|
|
|
<MenuItem name="5-1">Option 9</MenuItem>
|
|
|
|
<MenuItem name="5-2">Option 10</MenuItem>
|
|
|
|
<MenuItem name="5-3">Option 11</MenuItem>
|
|
|
|
<MenuItem name="5-4">Option 12</MenuItem>
|
|
|
|
</Submenu>
|
|
|
|
</Menu>
|
2018-05-15 16:59:53 +08:00
|
|
|
<!-- <Menu theme="dark" accordion @on-open-change="handleOpenChange">
|
|
|
|
<template v-for="item in menuList">
|
|
|
|
<custem-menu-item v-if="item.children" :key="`menu-${item.name}`" :parent-item="item"></custem-menu-item>
|
|
|
|
<menu-item v-else :name="`${item.name}`" :key="`menu-${item.name}`">{{ item.name }}</menu-item>
|
|
|
|
</template>
|
|
|
|
</Menu>
|
2018-04-04 12:01:29 +08:00
|
|
|
<Button @click="setOpenNames">修改展开数组</Button>
|
2018-05-15 16:59:53 +08:00
|
|
|
<Button @click="addNewItem">添加菜单项</Button> -->
|
2018-04-04 12:01:29 +08:00
|
|
|
</div>
|
2016-12-07 20:45:21 +08:00
|
|
|
</template>
|
|
|
|
<script>
|
2018-05-15 16:59:53 +08:00
|
|
|
import custemMenuItem from './menu-item.vue'
|
2016-12-07 20:45:21 +08:00
|
|
|
export default {
|
2018-05-15 16:59:53 +08:00
|
|
|
components: {
|
|
|
|
custemMenuItem
|
|
|
|
},
|
2018-04-04 12:01:29 +08:00
|
|
|
data () {
|
|
|
|
return {
|
2018-05-15 16:59:53 +08:00
|
|
|
openNames: ['1'],
|
|
|
|
menuList: [
|
|
|
|
{
|
|
|
|
name: '111',
|
|
|
|
children: [
|
|
|
|
{
|
|
|
|
name: '111-111'
|
|
|
|
},
|
|
|
|
{
|
|
|
|
name: '111-222'
|
|
|
|
}
|
|
|
|
]
|
|
|
|
},
|
|
|
|
{
|
|
|
|
name: '222',
|
|
|
|
children: [
|
|
|
|
{
|
|
|
|
name: '222-111'
|
|
|
|
},
|
|
|
|
{
|
|
|
|
name: '222-222',
|
|
|
|
children: [
|
|
|
|
{
|
|
|
|
name: '222-222-111'
|
|
|
|
},
|
|
|
|
{
|
|
|
|
name: '222-222-222',
|
|
|
|
children: [
|
|
|
|
{
|
|
|
|
name: '222-222-222-111'
|
|
|
|
},
|
|
|
|
{
|
|
|
|
name: '222-222-222-222'
|
|
|
|
}
|
|
|
|
]
|
|
|
|
}
|
|
|
|
]
|
|
|
|
},
|
|
|
|
{
|
|
|
|
name: '222-333',
|
|
|
|
children: [
|
|
|
|
{
|
|
|
|
name: '222-333-111',
|
|
|
|
children: [
|
|
|
|
{
|
|
|
|
name: '222-333-111-111'
|
|
|
|
},
|
|
|
|
{
|
|
|
|
name: '222-333-111-222'
|
|
|
|
}
|
|
|
|
]
|
|
|
|
},
|
|
|
|
{
|
|
|
|
name: '222-333-222',
|
|
|
|
children: [
|
|
|
|
{
|
|
|
|
name: '222-333-222-111'
|
|
|
|
},
|
|
|
|
{
|
|
|
|
name: '222-333-222-222'
|
|
|
|
}
|
|
|
|
]
|
|
|
|
}
|
|
|
|
]
|
|
|
|
}
|
|
|
|
]
|
|
|
|
}
|
|
|
|
]
|
2018-04-04 12:01:29 +08:00
|
|
|
};
|
|
|
|
},
|
|
|
|
methods: {
|
|
|
|
handleOpenChange (name) {
|
|
|
|
console.log(name)
|
|
|
|
},
|
|
|
|
setOpenNames () {
|
|
|
|
this.openNames = ['2', '3'];
|
|
|
|
this.$nextTick(() => {
|
|
|
|
this.$refs.menu.updateOpened();
|
|
|
|
})
|
2018-05-15 16:59:53 +08:00
|
|
|
},
|
|
|
|
addNewItem () {
|
|
|
|
this.menuList[1].children[1].children.push({
|
|
|
|
name: '222-222-333',
|
|
|
|
children: [
|
|
|
|
{
|
|
|
|
name: '222-222-333-111'
|
|
|
|
}
|
|
|
|
]
|
|
|
|
})
|
2018-04-04 12:01:29 +08:00
|
|
|
}
|
|
|
|
}
|
2018-03-13 18:37:16 +08:00
|
|
|
}
|
2016-12-08 18:33:04 +08:00
|
|
|
</script>
|