Vuex基礎(chǔ)使用 & Vuex 監(jiān)聽數(shù)據(jù)/值2021-04-29

需求:
1:頭部導航欄中'XXXX'標題欄署恍,顯示下拉菜單
2:選中下拉菜單數(shù)據(jù),將數(shù)據(jù)回顯到頁面指定位置
3:點擊回顯處數(shù)據(jù)却妨,調(diào)用接口饵逐,并請求數(shù)據(jù),將數(shù)據(jù)回顯

由于 頭部標題欄彪标,回顯數(shù)據(jù)位置梳毙,以及點擊回顯后調(diào)用接口都不在同一個vue文件內(nèi),所以使用到了Vuex

上代碼:

// 動態(tài)頭部導航欄
// 樣式我就不寫了捐下,大家根據(jù)自己需求調(diào)一下
// 顯示下拉菜單.vue  自己取名字哈
<template>
<!-- 1:頭部導航欄中'XXXX'標題欄账锹,顯示下拉菜單萌业,選中后隱藏 -->
    <div id="headerMenu">
        <div class="headerData">
            <div class="card"
                @click="change(item,index)"
                v-for="(index,item) in fliterheaderData"
                :key="index"
            >
                <span>{{item.name}}</span>
            </div>
            <div class="selectData" v-show="showSelectFlag">
                <ul>
                    <li
                    @click="selectItem(item,index)"
                    v-for="(index,item) in selectData"
                    :key="index">{{item.name}}</li>
                </ul>
            </div>
        </div>
    </div>
</template>
<script>
export default {
    data(){
        fliterheaderData:[{name:'標題1',id:1},{name:'標題2',id:2},{name:'標題3',id:3}],
        selectData:[{name:'選項1',id:1},{name:'選項2',id:2},{name:'選項3',id:3}]
        },
    methods: {
        //提交下拉框數(shù)據(jù)
        selectItem(item,index){
            this.$store.commit('SET_SELECT',item.name);
            //如果需求和我一樣,選中之后奸柬,下拉框就關(guān)閉
            this.showSelectFlag = false
        }
    },
}
</script>
// vuex-----index.js頁面 名字隨便取
import Vue from 'vue';
import Vuex from 'vuex';

Vue.use(Vuex)
export default new Vuex.Store({
    state:{
        selectDataItem:""
    },
    mutations:{
        SET_SELECT(state,selectDataItem){
            state.selectDataItem = selectDataItem
        }
    },
    actions:{
        stateSelect({commit},selectDataItem){
            commit('SET_SELECT',selectDataItem)
        }
    }
})
//選中下拉菜單數(shù)據(jù)生年,將數(shù)據(jù)回顯到頁面指定位置
// 2.vue
<template>
  <div>
    <el-select v-model="value" placeholder="請選擇">
      <el-option
        v-for="item in selectList"
        :key="item.value"
        :label="item.label"
        :value="item.value"
      >
      </el-option>
    </el-select>
  </div>
</template>
<script>
 import {mapActions} from 'vuex'
export default {
    computed:{
        selectList(){
            // 因為我的需求,回顯的位置廓奕,除了選中的數(shù)據(jù)抱婉,還有兩個內(nèi)容(回顯的位置是一個下拉框)
            let selectArr = [this.$store.state.selectDataItem,"數(shù)據(jù)1","數(shù)據(jù)2"]
            selectArr.concat(this.oldArr)
            return selectArr

        }
    },
  data() {
    return {
        oldArr:[]
    };
  },
  methods: {
      ...mapActions(['selectDataItem'])
  },
};
</script>

到上面為止,數(shù)據(jù)就顯示成功了;
下面是額外的需求桌粉,一般情況下用不到

// 點擊回顯處數(shù)據(jù)蒸绩,調(diào)用接口,并請求數(shù)據(jù)铃肯,將得到的數(shù)據(jù)渲染
//首先患亿,回顯數(shù)據(jù)的位置是下拉框第一個 是不會變的
//所以首先根據(jù)下標判斷位置
if(index === 0){
  //判斷選中的回顯數(shù)據(jù)是哪個
  if(this.$store.state.selectDataItem === '選項1'){
    //調(diào)用接口
  }
 if(this.$store.state.selectDataItem === '選項2'){
    //調(diào)用接口
  }
 if(this.$store.state.selectDataItem === '選項3'){
    //調(diào)用接口
  }
}

希望對小伙伴們有些幫助,明天就是五一了押逼,祝大家步藕,節(jié)日愉快~

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市挑格,隨后出現(xiàn)的幾起案子咙冗,更是在濱河造成了極大的恐慌,老刑警劉巖漂彤,帶你破解...
    沈念sama閱讀 206,378評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件雾消,死亡現(xiàn)場離奇詭異,居然都是意外死亡挫望,警方通過查閱死者的電腦和手機仪或,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,356評論 2 382
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來士骤,“玉大人,你說我怎么就攤上這事蕾域】郊。” “怎么了?”我有些...
    開封第一講書人閱讀 152,702評論 0 342
  • 文/不壞的土叔 我叫張陵旨巷,是天一觀的道長巨缘。 經(jīng)常有香客問我,道長采呐,這世上最難降的妖魔是什么若锁? 我笑而不...
    開封第一講書人閱讀 55,259評論 1 279
  • 正文 為了忘掉前任,我火速辦了婚禮斧吐,結(jié)果婚禮上又固,老公的妹妹穿的比我還像新娘仲器。我一直安慰自己,他們只是感情好仰冠,可當我...
    茶點故事閱讀 64,263評論 5 371
  • 文/花漫 我一把揭開白布乏冀。 她就那樣靜靜地躺著,像睡著了一般洋只。 火紅的嫁衣襯著肌膚如雪辆沦。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,036評論 1 285
  • 那天识虚,我揣著相機與錄音肢扯,去河邊找鬼。 笑死担锤,一個胖子當著我的面吹牛蔚晨,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播妻献,決...
    沈念sama閱讀 38,349評論 3 400
  • 文/蒼蘭香墨 我猛地睜開眼蛛株,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了育拨?” 一聲冷哼從身側(cè)響起谨履,我...
    開封第一講書人閱讀 36,979評論 0 259
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎熬丧,沒想到半個月后笋粟,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 43,469評論 1 300
  • 正文 獨居荒郊野嶺守林人離奇死亡析蝴,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 35,938評論 2 323
  • 正文 我和宋清朗相戀三年害捕,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片闷畸。...
    茶點故事閱讀 38,059評論 1 333
  • 序言:一個原本活蹦亂跳的男人離奇死亡尝盼,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出佑菩,到底是詐尸還是另有隱情盾沫,我是刑警寧澤,帶...
    沈念sama閱讀 33,703評論 4 323
  • 正文 年R本政府宣布殿漠,位于F島的核電站赴精,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏绞幌。R本人自食惡果不足惜蕾哟,卻給世界環(huán)境...
    茶點故事閱讀 39,257評論 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧谭确,春花似錦帘营、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,262評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至鞠眉,卻和暖如春薯鼠,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背械蹋。 一陣腳步聲響...
    開封第一講書人閱讀 31,485評論 1 262
  • 我被黑心中介騙來泰國打工出皇, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人哗戈。 一個月前我還...
    沈念sama閱讀 45,501評論 2 354
  • 正文 我出身青樓郊艘,卻偏偏與公主長得像,于是被迫代替她去往敵國和親唯咬。 傳聞我的和親對象是個殘疾皇子纱注,可洞房花燭夜當晚...
    茶點故事閱讀 42,792評論 2 345

推薦閱讀更多精彩內(nèi)容