iview menu手动展开

查看:891
本文介绍了iview menu手动展开的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

问 题

菜单数据是接口查询的,但是设置open-names 和 active-name 没有作用,如果data中的数据写死在页面上就可以。求大神提供解决办法。文档上面说:
updateOpened 手动更新展开的子目录,注意要在 $nextTick 里调用
updateActiveName 手动更新当前选择项,注意要在 $nextTick 里调用

解决方案

没试过手动展开,但是我之前碰到过刷新页面需要手动active某个菜单。代码如下

<Menu ref="leftMenu" theme="dark" width="auto" :active-name="defaultActive" @on-select="handleSelect">
    <Menu-group title="menu1">
      <Menu-item name="/menu1">
        menu1
      </Menu-item>
      <Menu-item name="/menu2">
        menu2
      </Menu-item>
    </Menu-group>
</Menu>

watch: {
  '$route' () {
    this.$refs.leftMenu.currentActiveName = '/menu2'
  }
}

我想open-names应该也差不多吧,一下是i-menu源码

watch: {
    openNames () {
        this.$emit('on-open-change', this.openNames);
    },
    activeName (val) {
        this.currentActiveName = val;
    },
    currentActiveName () {
        this.updateActiveName();
    }
}

这篇关于iview menu手动展开的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆