vue+iview的菜單與頁(yè)簽的聯(lián)動(dòng)方式
vue+iview菜單與頁(yè)簽聯(lián)動(dòng)
最近在使用vue+iview開(kāi)發(fā)一個(gè)后臺(tái)管理類的系統(tǒng),希望做一個(gè)點(diǎn)擊左側(cè)菜單右側(cè)的頁(yè)簽與內(nèi)容都能相對(duì)應(yīng)的改變。
但搞了好久的路由也沒(méi)有實(shí)現(xiàn)這個(gè)功能。
剛開(kāi)始使用vue+iview不知道iview-admin可以直接拿來(lái)使用,布局之類的開(kāi)箱即用,可是自己的demo已經(jīng)寫了好久不忍心放棄。
一、使用iview的menu和tab做布局,將這兩個(gè)組件放到主頁(yè)面
由于menu與tab的數(shù)據(jù)相同且樣式需要進(jìn)行關(guān)聯(lián),因此可以使用vuex進(jìn)行狀態(tài)管理,state中寫入需要管理的數(shù)據(jù)和狀態(tài)變量,在mutations中設(shè)置操作的動(dòng)作,actions中監(jiān)聽(tīng)一些行為(我的菜單沒(méi)有展開(kāi)收縮部分,因此并沒(méi)有使用到actions)
二、做好布局之后要對(duì)菜單增加點(diǎn)擊事件
on-select,首先在mutations中注冊(cè)tab的改變事件,當(dāng)左側(cè)菜單點(diǎn)擊的時(shí)候查看tab中是否已經(jīng)有這個(gè)頁(yè)簽并設(shè)置isExist=false,如果存在,isExist修改為true,沒(méi)有的話給tab對(duì)應(yīng)遍歷的數(shù)組增加菜單相對(duì)索引的數(shù)據(jù)。
mutationsType中
mutations中:
menu組件中的事件為:
在tab組件中首先設(shè)置頁(yè)面默認(rèn)路由:
再將事件加入進(jìn)去:
iview+Vue多級(jí)菜單的聯(lián)動(dòng)
用最笨的方式寫了一個(gè)三級(jí)菜單的聯(lián)動(dòng)
<template> <div> <Select v-model="whereMap.model1" style="width:200px" @on-change="getSecond"> <Option v-for="item in list1" :value="item.id" :key="item.id">{{ item.label }}</Option> </Select> <Select v-model="whereMap.model2" style="width:200px" @on-change="getThird"> <Option v-for="item in list2" :value="item.id" :key="item.id">{{ item.label }}</Option> </Select> <Select v-model="whereMap.model3" style="width:200px"> <Option v-for="item in list3" :value="item.id" :key="item.id">{{ item.label }}</Option> </Select> <Button class="search-btn" type="default" @click="searchClear">清空</Button></div> </template> <script> export default { data () { return { datatest: { l1: [ { id: 'cat', label: '貓' }, { id: 'dog', label: '狗' } ], l2: { cat: [{ id: 'sc', label: '小貓' }, { id: 'bc', label: '大貓' }], dog: [{ id: 'sd', label: '小狗' }, { id: 'bd', label: '大狗' }] }, l3: { sc: [{ id: 'sc1', label: '小花貓' }, { id: 'sc2', label: '小橘貓' }], bc: [{ id: 'bc1', label: '大花貓' }, { id: 'bc2', label: '大橘貓' }] } }, list1: [], list2: [], list3: [], whereMap: { model1: '', model2: '', model3: '' } } }, mounted () { this.init() }, created () { this.init() }, methods: { init () { this.list1 = this.datatest.l1 }, getSecond (val) { this.list2 = this.datatest.l2[val] }, getThird (val) { this.list3 = this.datatest.l3[val] }, searchClear () { console.log(this.whereMap) this.whereMap = {}; this.list2 = []; this.list3 = []; } } } </script>
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
- vue遞歸實(shí)現(xiàn)三級(jí)菜單
- vue+element使用動(dòng)態(tài)加載路由方式實(shí)現(xiàn)三級(jí)菜單頁(yè)面顯示的操作
- vue.js實(shí)現(xiàn)三級(jí)菜單效果
- vue實(shí)現(xiàn)后臺(tái)管理權(quán)限系統(tǒng)及頂欄三級(jí)菜單顯示功能
- Vue iview-admin框架二級(jí)菜單改為三級(jí)菜單的方法
- Vue實(shí)現(xiàn)左右菜單聯(lián)動(dòng)實(shí)現(xiàn)代碼
- vue基于mint-ui實(shí)現(xiàn)城市選擇三級(jí)聯(lián)動(dòng)
- 詳解Vue、element-ui、axios實(shí)現(xiàn)省市區(qū)三級(jí)聯(lián)動(dòng)
- vue + elementUI實(shí)現(xiàn)省市縣三級(jí)聯(lián)動(dòng)的方法示例
- vue實(shí)現(xiàn)三級(jí)聯(lián)動(dòng)動(dòng)態(tài)菜單
相關(guān)文章
VUE數(shù)組根據(jù)索引刪除數(shù)據(jù),頁(yè)面同時(shí)更新的實(shí)現(xiàn)方法
這篇文章主要介紹了VUE數(shù)組根據(jù)索引刪除數(shù)據(jù),頁(yè)面同時(shí)更新的實(shí)現(xiàn)方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-07-07使用Karma做vue組件單元測(cè)試的實(shí)現(xiàn)
這篇文章主要介紹了使用Karma做vue組件單元測(cè)試的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-01-01完美解決axios跨域請(qǐng)求出錯(cuò)的問(wèn)題
下面小編就為大家分享一篇完美解決axios跨域請(qǐng)求出錯(cuò)的問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2018-02-02vue指令?v-bind的使用和注意需要注意的點(diǎn)
這篇文章主要給大家分享了?v-bind的使用和注意需要注意的點(diǎn),下面文章圍繞?v-bind指令的相關(guān)資料展開(kāi)內(nèi)容且附上詳細(xì)代碼?需要的小伙伴可以參考一下,希望對(duì)大家有所幫助2021-11-11vant的Loading加載動(dòng)畫組件的使用(通過(guò)接口拿數(shù)據(jù)時(shí)顯示加載狀態(tài))
這篇文章主要介紹了vant的Loading加載動(dòng)畫組件的使用,通過(guò)接口拿數(shù)據(jù)時(shí)顯示加載狀態(tài),本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友參考下吧2024-01-01Vue路由跳轉(zhuǎn)傳參或打開(kāi)新頁(yè)面跳轉(zhuǎn)的方法總結(jié)
這篇文章主要給大家介紹了關(guān)于Vue路由跳轉(zhuǎn)傳參或打開(kāi)新頁(yè)面跳轉(zhuǎn)的相關(guān)資料,在使用Vue.js開(kāi)發(fā)單頁(yè)面應(yīng)用時(shí)常常會(huì)遇到路由跳轉(zhuǎn)傳參的需求,需要的朋友可以參考下2023-07-07vue項(xiàng)目中使用ueditor的實(shí)例講解
下面小編就為大家分享一篇vue項(xiàng)目中使用ueditor的實(shí)例講解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2018-03-03