91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

微信小程序如何自定義多列選擇器

發布時間:2022-07-11 13:51:44 來源:億速云 閱讀:315 作者:iii 欄目:開發技術

今天小編給大家分享一下微信小程序如何自定義多列選擇器的相關知識點,內容詳細,邏輯清晰,相信大部分人都還太了解這方面的知識,所以分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后有所收獲,下面我們一起來了解一下吧。

項目需要,需要實現一個多列選擇器,在用戶確定之前,無論列表如何轉,都不會影響已確定值的顯示,只要用戶選擇確定才會把新選擇的內容更新到已確定的顯示值上。

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

因為微信小程序中的多列選擇器是用數組存放數據,因此在拷貝中涉及到深拷貝,必須是深拷貝才能實現上面的設想。
因此可以下面代碼實現深拷貝:

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: [
      ['廣大生活區', '廣大教學區'],
      ['B1', 'B2', 'B3'],
      ['一樓', '二樓', '三樓']
    ],
    demoArray:  [
      ['廣大生活區', '廣大教學區'],
      ['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
    })
  },

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

微信小程序如何自定義多列選擇器

微信小程序如何自定義多列選擇器

以上就是“微信小程序如何自定義多列選擇器”這篇文章的所有內容,感謝各位的閱讀!相信大家閱讀完這篇文章都有很大的收獲,小編每天都會為大家更新不同的知識,如果還想學習更多的知識,請關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

青海省| 启东市| 余庆县| 广元市| 沅陵县| 和顺县| 白山市| 桃园县| 常熟市| 河津市| 漳浦县| 依安县| 兰溪市| 陵川县| 尤溪县| 高雄市| 翁牛特旗| 聂拉木县| 高青县| 中卫市| 邯郸县| 瑞昌市| 上栗县| 孝义市| 柳河县| 全椒县| 泰宁县| 顺平县| 和硕县| 昌图县| 古浪县| 房产| 富宁县| 故城县| 鹿邑县| 安远县| 济南市| 高淳县| 姚安县| 舞阳县| 内丘县|