iview導航菜單updateOpened和updateActiveName的使用
阿新 • • 發佈:2019-03-20
取消 調用方法 遇到的問題 效果 實現 menus 情況 怎麽 沒有效果
先看官方文檔: iview導航菜單
這裏主要遇到的問題有兩個:
1. 調到首頁(非菜單項)時需要取消選中選中的菜單項,這裏用到的是 updateActiveName方法
2. 收起菜單時關閉展開的子菜單,這裏要用到的是 updateOpened方法
看下這兩個方法的文檔說明,直接看不是很清楚到底是怎麽調用的,然後上網查了下怎麽用的,還是沒有實現,後來不斷的嘗試,原來並不難的
’
看下最終的調用方法:
/** * 手動更新選中的菜單 */ menuChange(){this.menuActive = ""; this.$nextTick(()=>{ this.$refs.menus.updateActiveName(); }) }
註意上面的代碼順序哦!!!
1. this.menuActive = ""; 寫在$nextTick前面!!!
2. this.$refs.menus.updateActiveName(); 要寫在$nextTick裏面!!!
剛開始我把 this.menuActive = ""; 和updateActiveName方法都寫在了$nextTick裏面,導致只有在刷新頁面,只選了一次菜單的情況下,點擊跳轉首頁的時候才會取消選中菜單,後面再怎麽點擊都沒有效果了。。
具體的menu例子有空的時候再放上來 : )
iview導航菜單updateOpened和updateActiveName的使用