欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

mpvue微信小程序多列選擇器用法之省份城市選擇的實現(xiàn)

 更新時間:2019年03月07日 10:49:13   作者:fozero  
這篇文章主要給大家介紹了關(guān)于mpvue微信小程序多列選擇器用法之省份城市選擇實現(xiàn)的相關(guān)資料,文中通過示例代碼以及圖文介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧

前言

微信小程序默認(rèn)給我們提供了一個省市區(qū)的picker選擇器,只需將mode設(shè)置為region即可

<picker
 mode="region"
 bindchange="bindRegionChange"
 value="{{region}}"
 custom-item="{{customItem}}"
 >

因為小程序默認(rèn)提供的省市區(qū)選擇器只能保存名稱,不能保存id,而且我也不需要選擇三級城市,所以這里打算通過mode="multiSelector"來實現(xiàn)省份城市的選擇

城市數(shù)據(jù)json格式

關(guān)于省份城市數(shù)據(jù)的獲取,這里我通過接口去獲取數(shù)據(jù),返回的json格式為

{
 "code": 0,
 "msg": "success",
 "data": [
 {
  "id": 2,
  "name": "北京",
  "children": [
  {
   "id": 36,
   "name": "北京市"
  }
  ]
 }
 ]
}

在我們保存提交的時候只需要保存省份和城市的id即可

picker多列選擇器的用法

<picker
  mode="multiSelector"
  @change="bindCityChange"
  @columnchange="bindCityColumnChange"
  :value="multiIndex"
  :range="multiArray"
  range-key="name"
 >
  <view class="picker">選擇城市{{userInfo.province.name}},{{userInfo.city.name}}</view>
 </picker>

設(shè)置picker mode屬性為multiSelector

 mode="multiSelector"

1、這里需要注意的是,在mpvue中無法直接使用bindchange和bindcolumnchange,而是使用@change和@columnchange這種方式

2、value是一個數(shù)組,例如我們有兩列

[["北京", "湖南"], ["長沙", "永州"]]

3、range也是一個數(shù)組,指定的是value值的選中索引值,下標(biāo)從0開始,如[0,0]

4、如果我們的數(shù)據(jù)是一個二維對象數(shù)組,我們可以通過使用range-key來指定Object 中 key 的值作為選擇器顯示內(nèi)容

5、當(dāng)我們確認(rèn)選中之后會觸發(fā)@change事件

// 城市選擇 獲取選中的值 [0,0] 這里需要注意的是獲取值的方式在mpvue中通過e.mp.detail.value而不是e.detail.value
 bindCityChange(e) {
 // 選中的值索引
 console.log(e.mp.detail.value[0], e.mp.detail.value[1]);
 // 選中的省份和城市數(shù)據(jù)
 console.log(
 this.multiArray[0][e.mp.detail.value[0]],
 this.multiArray[1][e.mp.detail.value[1]]
 );
 this.userInfo.province = this.multiArray[0][e.mp.detail.value[0]];
 this.userInfo.city = this.multiArray[1][e.mp.detail.value[1]];
 },

6、在我們滾動每一列的值的時候會觸發(fā)@columnchange事件

7、通過e.mp.detail.columne.mp.detail.value可以獲取到修改列對應(yīng)的值

console.log(
 "修改的列為",
 e.mp.detail.column,
 ",值為",
 e.mp.detail.value
 );

通過獲取到修改的數(shù)據(jù)更新multiIndex的值

// 監(jiān)聽滾動事件 滾動第一列 修改第二列數(shù)據(jù)
 bindCityColumnChange(e) {
 // 更新multiIndex的值
 this.multiIndex[e.mp.detail.column] = e.mp.detail.value;
 //加載對應(yīng)省份下城市數(shù)據(jù)
 switch (e.mp.detail.column) {
 case 0:
  // this.multiArray[1] = this.cityList[e.mp.detail.value].children;
  this.multiArray = [
  this.cityList,
  this.cityList[e.mp.detail.value].children
  ];
  break;
 }
 },
data() {
 return {
multiIndex: [0, 0],
 multiArray: [],
 }
 }

參考閱讀

總結(jié)

以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,如果有疑問大家可以留言交流,謝謝大家對腳本之家的支持。

相關(guān)文章

  • js實現(xiàn)方塊上下左右移動效果

    js實現(xiàn)方塊上下左右移動效果

    這篇文章主要為大家詳細(xì)介紹了js實現(xiàn)方塊上下左右移動效果,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-08-08
  • 仿iPhone通訊錄制作小程序自定義選擇組件的實現(xiàn)

    仿iPhone通訊錄制作小程序自定義選擇組件的實現(xiàn)

    這篇文章主要介紹了仿iPhone通訊錄制作小程序自定義選擇組件的實現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-05-05
  • js+css實現(xiàn)紅包雨效果

    js+css實現(xiàn)紅包雨效果

    這篇文章主要為大家詳細(xì)介紹了js+css實現(xiàn)紅包雨效果,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-07-07
  • 解決layer.msg 不居中 ifram中的問題

    解決layer.msg 不居中 ifram中的問題

    今天小編就為大家分享一篇解決layer.msg 不居中 ifram中的問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-09-09
  • JavaScript簡單實現(xiàn)彈出拖拽窗口(二)

    JavaScript簡單實現(xiàn)彈出拖拽窗口(二)

    這篇文章再次為大家詳細(xì)介紹了JavaScript簡單實現(xiàn)彈出拖拽窗口的相關(guān)資料,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2016-06-06
  • JavaScript XML和string相互轉(zhuǎn)化實現(xiàn)代碼

    JavaScript XML和string相互轉(zhuǎn)化實現(xiàn)代碼

    兩個小function實現(xiàn)XML和string相互轉(zhuǎn)化,需要的朋友可以參考下。
    2011-07-07
  • JS實現(xiàn)的簡單分頁功能示例

    JS實現(xiàn)的簡單分頁功能示例

    這篇文章主要介紹了JS實現(xiàn)的簡單分頁功能,涉及javascript事件響應(yīng)及頁面元素遍歷、動態(tài)構(gòu)造等相關(guān)操作技巧,需要的朋友可以參考下
    2018-08-08
  • Webpack打包css后z-index被重新計算的解決方法

    Webpack打包css后z-index被重新計算的解決方法

    這篇文章主要跟大家分享了Webpack打包css后z-index被重新計算的解決方法,文中介紹的非常詳細(xì),對大家具有一定的參考學(xué)習(xí)價值,需要的朋友們下面跟著小編一起來學(xué)習(xí)學(xué)習(xí)吧。
    2017-06-06
  • .net MVC+Bootstrap下使用localResizeIMG上傳圖片

    .net MVC+Bootstrap下使用localResizeIMG上傳圖片

    這篇文章主要為大家詳細(xì)介紹了.net MVC和Bootstrap下使用 localResizeIMG上傳圖片,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-04-04
  • JS實現(xiàn)自動變換的菜單效果代碼

    JS實現(xiàn)自動變換的菜單效果代碼

    這篇文章主要介紹了JS實現(xiàn)自動變換的菜單效果代碼,可實現(xiàn)自動變換菜單選中項的技巧,涉及JavaScript定時函數(shù)觸發(fā)頁面樣式屬性變換的技巧,具有一定參考借鑒價值,需要的朋友可以參考下
    2015-09-09

最新評論