iview 动态渲染menu时active-name无效的问题

2020-05-29  本文已影响0人  小棋子js

场景:Menu组件设置active-name属性无效。
原因:因为active-name 生效之后,menu是从接口请求回来的。这时候this.menus 被重新赋值,触发数据变更事件,menu组件又重新渲染。active-name应该只在初次加载时执行一次,这个目前只是猜测
处理:
Menu methods:
方法名 说明 参数
updateOpened 手动更新展开的子目录,注意要在 nextTick 里调用 无 updateActiveName 手动更新当前选择项,注意要在nextTick 里调用 无         
1、给Menu组件绑定ref ,例如side_menu;
2、menu列表更新时,手动更新

 updated() {
      this.$nextTick(() => {
          this.$refs.side_menu.updateOpened()
          this.$refs.side_menu.updateActiveName()
      })
    },
上一篇下一篇

猜你喜欢

热点阅读