如下代码所示的菜单:
<Menu mode="horizontal" :active-name="activeMenu" ref="menu">
<MenuItem name="menu1">
<Icon type="ios-paper" />
内容管理
</MenuItem>
<MenuItem name="menu2">
<Icon type="ios-people" />
用户管理
</MenuItem>
</Menu>
当我们代码中修改activeMenu="menu2"的时候,因为并不是双向绑定的,所以当前选中的menu并不会实时更新,看文档也没有v-model 双向绑定数据。
不过可以在代码中调用menu的updateActiveName方法(需要使用
$nextTick
调用),如下:this.activeMenu = "menu2"; this.$nextTick(()=> this.$refs['menu'].updateActiveName());
同理,如果要修改展开的子菜单项目:
<Menu active-name="1-2" :open-names="openMenuNames" ref="menu">
<Submenu name="1">
<template slot="title">
<Icon type="ios-analytics" />
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>
</Submenu>
<Submenu name="2">
<template slot="title">
<Icon type="ios-filing" />
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>
</Menu>
修改菜单项如下代码:
this.openMenuNames = ['2'] //动态改变展开的subMenu子项 this.$nextTick(()=> this.$refs['menu'].updateOpened());
文章评论