小程序的picker和vue的index被我同時踩到

前提概要:

使用mpvue來寫小程序的代碼

我的需求

用picker實現(xiàn)一個循環(huán)里面的選擇

首先倔丈,小程序的picker目前只支持index來定位選中的值圈澈。


picker文檔

為了滿足我的需求顶考,picker 的回調(diào)里面必須拿到以下兩點:
1,得到當前我選擇項目在picker里面的arr的index 2展箱,我當前修改的是for循環(huán)的哪一項

做法

picker在回調(diào)是change方法羊赵。

<ul class="select-con">
        <li v-for="(item, index) in skillMaps"
            class="select-item"
            :key="index">
          <van-icon :name="deleteIcon" class="vant-icon" @click="deleteSelectedItem(item, index)"/>
          <picker
            :range="levels"
            range-key="label"
            :data-id="item.value"
            :data-levelIndex="index"
            class="level-picker"
            :value="item.level"
            @change="handleLevelChange">
            <view class="list-item">
              <label class="label-value">{{item.label}}</label>
              <div class="action-con">
                <span class="label-value">{{levels[item.level].label}} </span>
                <van-icon name="arrow" :color='color' @click="showPicker" class="vant-icon"/>
              </div>
            </view>
          </picker>
        </li>
      </ul>

(這里屬性在data里面的定義過程省略)
所以是在我定義的handleLevelChange里面做舷蒲。

但是

picker的change 只支持一個回調(diào)參數(shù)耸袜。也就是 e.這個里面可以通過

 let index = e.mp.detail.value
// 以上便是當前選擇的picker的index。

那么修改的是當前的哪一項里面的picker呢牲平?
這個怎么做堤框?

辦法:

 :data-id="item.value"
  :data-levelIndex="index"

通過小程序的data-XX 來寫自定義的屬性,通過這樣的方式把當前修改的index 放到 dataset 里面。這樣在picker的change 事件里面就可以拿到當前的index.然后再來修改當前l(fā)ist里面對應的這個index里面的level的值胰锌。
于是我寫成了這樣:

  let pickerIndex = e.currentTarget.dataset.levelindex // 當前修改的哪一項
  let itemIndex = e.mp.detail.value // 選擇了picker里面的哪個值的index
this.skillMaps[pickerIndex].level = itemIndex  
// 再修改被循環(huán)的skillMaps 對應的index 里面的 level 來達到改變view上顯示的目的

結果就是:

失斊啤!资昧!

頁面上沒有正確顯示酬土,但是我的APPDATA里面看,數(shù)據(jù)是更改了(也就是數(shù)據(jù)變成了level = 2 格带,那么就應該顯示精通撤缴,但是實際上還是顯示的入門)。

經(jīng)過我的一番調(diào)查叽唱,是vue的坑(因為我用的是mpvue)屈呕。
由于小程序的picker更改的是下標,但是vue又檢測不到下標的變更棺亭,所以導致虎眨,數(shù)據(jù)變更了,頁面上無變化镶摘。


vue 官方文檔

根據(jù)官網(wǎng)建議嗽桩,為了解決這個問題,做了以下的操作凄敢。

 handleLevelChange (e) {
        let pickerIndex = e.currentTarget.dataset.levelindex
        let itemIndex = e.mp.detail.value
        this.$set(this.skillMaps, pickerIndex, {...this.skillMaps[pickerIndex], level: itemIndex})
      },
// 使用$set 來重新渲染當前的dom數(shù)碌冶,讓他被檢測到。

以上便是小程序的picker和Vue的index無法被檢測涝缝,這兩個問題扑庞,同時被我遇到的問題。
其實小程序picker只能用index來定位拒逮,這個我表示體驗不好罐氨。因為正常的使用情景都不是index是value或者id之類的有效字段。
希望以后這里會被優(yōu)化吧滩援。

?著作權歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末岂昭,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子狠怨,更是在濱河造成了極大的恐慌约啊,老刑警劉巖,帶你破解...
    沈念sama閱讀 211,290評論 6 491
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件佣赖,死亡現(xiàn)場離奇詭異恰矩,居然都是意外死亡,警方通過查閱死者的電腦和手機憎蛤,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,107評論 2 385
  • 文/潘曉璐 我一進店門外傅,熙熙樓的掌柜王于貴愁眉苦臉地迎上來纪吮,“玉大人,你說我怎么就攤上這事萎胰∧朊耍” “怎么了?”我有些...
    開封第一講書人閱讀 156,872評論 0 347
  • 文/不壞的土叔 我叫張陵技竟,是天一觀的道長冰肴。 經(jīng)常有香客問我,道長榔组,這世上最難降的妖魔是什么熙尉? 我笑而不...
    開封第一講書人閱讀 56,415評論 1 283
  • 正文 為了忘掉前任,我火速辦了婚禮搓扯,結果婚禮上检痰,老公的妹妹穿的比我還像新娘。我一直安慰自己锨推,他們只是感情好铅歼,可當我...
    茶點故事閱讀 65,453評論 6 385
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著换可,像睡著了一般谭贪。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上锦担,一...
    開封第一講書人閱讀 49,784評論 1 290
  • 那天,我揣著相機與錄音慨削,去河邊找鬼。 笑死,一個胖子當著我的面吹牛侣背,可吹牛的內(nèi)容都是我干的趟章。 我是一名探鬼主播,決...
    沈念sama閱讀 38,927評論 3 406
  • 文/蒼蘭香墨 我猛地睜開眼玫芦,長吁一口氣:“原來是場噩夢啊……” “哼浆熔!你這毒婦竟也來了?” 一聲冷哼從身側響起桥帆,我...
    開封第一講書人閱讀 37,691評論 0 266
  • 序言:老撾萬榮一對情侶失蹤医增,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后老虫,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體叶骨,經(jīng)...
    沈念sama閱讀 44,137評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,472評論 2 326
  • 正文 我和宋清朗相戀三年祈匙,在試婚紗的時候發(fā)現(xiàn)自己被綠了忽刽。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片天揖。...
    茶點故事閱讀 38,622評論 1 340
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖跪帝,靈堂內(nèi)的尸體忽然破棺而出今膊,到底是詐尸還是另有隱情,我是刑警寧澤伞剑,帶...
    沈念sama閱讀 34,289評論 4 329
  • 正文 年R本政府宣布斑唬,位于F島的核電站,受9級特大地震影響纸泄,放射性物質(zhì)發(fā)生泄漏赖钞。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 39,887評論 3 312
  • 文/蒙蒙 一聘裁、第九天 我趴在偏房一處隱蔽的房頂上張望雪营。 院中可真熱鬧,春花似錦衡便、人聲如沸献起。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,741評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽谴餐。三九已至,卻和暖如春呆抑,著一層夾襖步出監(jiān)牢的瞬間岂嗓,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,977評論 1 265
  • 我被黑心中介騙來泰國打工鹊碍, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留厌殉,地道東北人。 一個月前我還...
    沈念sama閱讀 46,316評論 2 360
  • 正文 我出身青樓侈咕,卻偏偏與公主長得像公罕,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子耀销,可洞房花燭夜當晚...
    茶點故事閱讀 43,490評論 2 348

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