1. 程式人生 > >iview導航菜單updateOpened和updateActiveName的使用

iview導航菜單updateOpened和updateActiveName的使用

取消 調用方法 遇到的問題 效果 實現 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的使用