成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

微信小程序?qū)崿F(xiàn)自定義多列選擇器使用

3403771864 / 551人閱讀

  在項目搭建過程中吃,需要實現(xiàn)一個多列選擇器,在用戶確定之前,無論列表如何轉(zhuǎn),對于已選擇的都不會有影響,只有在確定選擇內(nèi)容后才顯示值上。

  思路:保存兩份,一份用來存放用戶選擇的中間值,當用戶點擊確定時,把中間值更新為已確認值。如果用戶選擇取消,就把中間值更新為已確認值。

  因為微信小程序中的多列選擇器是用數(shù)組存放數(shù)據(jù),因此在拷貝中涉及到深拷貝,必須是深拷貝才能實現(xiàn)上面的設(shè)想。

  因此可以下面代碼實現(xiàn)深拷貝:

  var arr=JSON.parse(JSON.stringify(this.data.multiArray));

  wxml:

  <picker bindcancel="cancelAddr" mode="multiSelector" bindchange="bindMultiPickerChange" bindcolumnchange="bindMultiPickerColumnChange" value="{{demoIndex}}" range="{{demoArray}}">
  <view class="picker">
  收貨地址:{{multiArray[0][multiIndex[0]]}}-{{multiArray[1][multiIndex[1]]}}-{{multiArray[2][multiIndex[2]]}}
  </view>
  </picker>

  js:

  data:{
  multiArray: [
  ['廣大生活區(qū)', '廣大教學區(qū)'],
  ['B1', 'B2', 'B3'],
  ['一樓', '二樓', '三樓']
  ],
  demoArray: [
  ['廣大生活區(qū)', '廣大教學區(qū)'],
  ['B1', 'B2', 'B3'],
  ['一樓', '二樓', '三樓']
  ],
  //實際顯示值
  multiIndex: [0, 0, 0],
  //臨時變量
  demoIndex: [0, 0, 0],
  teach: ["文清樓", "文新樓", "文俊西樓"],
  life: ['B1', 'B2', 'B3']
  }
  //修改過程中取消修改
  cancelAddr() {
  var arr = JSON.parse(JSON.stringify(this.data.multiArray));
  var index = JSON.parse(JSON.stringify(this.data.multiIndex));
  this.setData({
  demoArray: arr,
  demoIndex: index
  })
  },
  //地址選擇器改變
  bindMultiPickerColumnChange(e) {
  var value = e.detail.value;
  var column = e.detail.column;
  var demoArray = this.data.demoArray;
  var demoIndex = this.data.demoIndex;
  if (column === 0 && value != demoIndex[0]) {
  if (value === 0) {
  demoArray[1] = this.data.life;
  } else {
  demoArray[1] = this.data.teach;
  }
  }
  demoIndex[column] = value;
  this.setData({
  demoArray: demoArray,
  demoIndex: demoIndex
  })
  },
  //確定選中的地址
  bindMultiPickerChange() {
  console.log("all change");
  var arr = JSON.parse(JSON.stringify(this.data.demoArray));
  var index = JSON.parse(JSON.stringify(this.data.demoIndex));
  this.setData({
  multiArray: arr,
  multiIndex: index
  })
  },

  效果圖(上面代碼的數(shù)據(jù)數(shù)量刪除了部分):

  詳細代碼和效果展示就說道這里,歡迎大家關(guān)注更多精彩內(nèi)容。


文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/128305.html

相關(guān)文章

  • mpvue實現(xiàn)信小程序(歡迎踩坑)

    摘要:最近剛使用完成了微信小程序的開發(fā),寫點東西,做個記錄。專門用于外鏈跳轉(zhuǎn)但是外鏈跳轉(zhuǎn)還是個坑,微信僅能支持跳到在它那邊注冊過的的網(wǎng)址,其他還是不行,暫時沒有找到好的方式看了知乎,它的外鏈直接轉(zhuǎn)成了文本,不可點擊了。 最近剛使用mpvue完成了微信小程序的開發(fā),寫點東西,做個記錄。 首先依舊是兩個傳送門: 微信小程序文檔:[https://developers.weixin.qq.com/...

    jas0n 評論0 收藏0
  • mpvue實現(xiàn)信小程序(歡迎踩坑)

    摘要:最近剛使用完成了微信小程序的開發(fā),寫點東西,做個記錄。專門用于外鏈跳轉(zhuǎn)但是外鏈跳轉(zhuǎn)還是個坑,微信僅能支持跳到在它那邊注冊過的的網(wǎng)址,其他還是不行,暫時沒有找到好的方式看了知乎,它的外鏈直接轉(zhuǎn)成了文本,不可點擊了。 最近剛使用mpvue完成了微信小程序的開發(fā),寫點東西,做個記錄。 首先依舊是兩個傳送門: 微信小程序文檔:[https://developers.weixin.qq.com/...

    xuexiangjys 評論0 收藏0
  • mpvue實現(xiàn)信小程序(歡迎踩坑)

    摘要:最近剛使用完成了微信小程序的開發(fā),寫點東西,做個記錄。專門用于外鏈跳轉(zhuǎn)但是外鏈跳轉(zhuǎn)還是個坑,微信僅能支持跳到在它那邊注冊過的的網(wǎng)址,其他還是不行,暫時沒有找到好的方式看了知乎,它的外鏈直接轉(zhuǎn)成了文本,不可點擊了。 最近剛使用mpvue完成了微信小程序的開發(fā),寫點東西,做個記錄。 首先依舊是兩個傳送門: 微信小程序文檔:[https://developers.weixin.qq.com/...

    notebin 評論0 收藏0
  • 演示信小程序地區(qū)選擇偽五級聯(lián)動

      在項目中,要求微信小程序的地區(qū)可以選擇偽五級聯(lián)動  展示如下  這里采用的是自定義多列選擇器picker mode="multiSelector"  <viewclass="section">   <viewclass="section__title">多列選擇器</view>   <pick...

    3403771864 評論0 收藏0
  • 信小程序開發(fā)中的二三事之網(wǎng)易云信IMSDK DEMO

    摘要:傳統(tǒng)的網(wǎng)頁編程采用的三劍客來實現(xiàn),在微信小程序中同樣有三劍客。觀察者模式不難實現(xiàn),重點是如何在微信小程序中搭配其特有的生命周期來使用。交互事件傳統(tǒng)的事件傳遞類型有冒泡型與捕獲型,微信小程序中自然也有。 本文由作者鄒永勝授權(quán)網(wǎng)易云社區(qū)發(fā)布。 簡介為了更好的展示我們即時通訊SDK強悍的能力,網(wǎng)易云信IM SDK微信小程序DEMO的開發(fā)就提上了日程。用產(chǎn)品的話說就是: 云信 IM 小程序 S...

    weij 評論0 收藏0

發(fā)表評論

0條評論

最新活動
閱讀需要支付1元查看
<