黄片毛片在线看_天天操天天射天天爽_精品久久久久中文慕人妻 _青娱乐在线免费视频_青青草精品在线视频_日本中文字幕久久_亚洲国产欧美另类_伊人手机在线视频_天天综合永久入口_久久久综合久久

福州網站建設>網站新聞>福州微信小程序

詳解微信小程序picker

發布日期:2019-10-02瀏覽次數:1465 來源:福州網站建設



這個功能應該算是基礎的了,下面講講它的實現:


首先,其實是一個名為 picker 的組件:


picker(微信官方文檔)
基礎庫 1.0.0 開始支持,低版本需做兼容處理。
從底部彈起的滾動選擇器。


然后看看我的代碼:


這是HTML部分的代碼:


<view class='Select'>
<picker mode="multiSelector" bindchange="bindMultiPickerChange" bindcolumnchange="bindMultiPickerColumnChange" value="{{multiIndex}}" range="{{multiArray}}">
    <view class="picker">
      當前選擇:{{multiArray[0][multiIndex[0]]}} {{multiArray[1][multiIndex[1]]}}
    </view>
  </picker>
</view>
1
2
3
4
5
6
7
js代碼:


Page({
  /**
   * 頁面的初始數據
   */
  data: {
    multiArray: [['2019年', '2018年', '2017年'], ['1月', '2月', '3月', '4月', '5月', '6月', '7月', '8月', '9月', '10月', '11月', '12月']],
    multiIndex: [0, 0]
  },
  bindMultiPickerChange: function (e) {
    this.setData({
      multiIndex: e.detail.value
    })
  },
  bindMultiPickerColumnChange: function (e) {
    var data = {
      multiArray: this.data.multiArray,
      multiIndex: this.data.multiIndex
    };
    data.multiIndex[e.detail.column] = e.detail.value;
    this.setData(data);
  },
})
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
css代碼:


.Select
{
  text-align: center;
  margin-top: 15rpx;
  margin-bottom: 15rpx;
}
.c_head
{
  text-align: center;
}
/* pages/home/bills/bills.wxss */
.b_head
{
  text-align: center;
}
.Select
{
  text-align: center;
  margin-top: 15rpx;
}
.f_tou
{
  display: flex;
  justify-content: space-around;
  padding-top: 40rpx;
  
}


.f_tou_in
{
  height: 150rpx;
  width: 150rpx;
  border-radius: 50%;
}
.f_inf
{
  text-align: center;
  font-size: 33rpx;
}
.f_each
{
  display: flex;
  justify-content: space-between;
  margin-top: 30rpx;
  padding-bottom: 30rpx;
  border-bottom: 1rpx rgba(0, 0, 0, 0.171) solid;
  width: 100%;
}
.f_each_left
{
  margin-left: 40rpx;
}
.f_each_right
{
  margin-right: 10rpx;
  width: 100px;
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
首先看到


multiArray: [['2019年', '2018年', '2017年'], 
['1月', '2月', '3月', '4月', '5月', '6月', '7月', '8月', '9月', '10月', '11月', '12月']],
1
2
表示兩欄可供選擇,則 multiArray 里面有兩個數組,分別是年份和月份


當前選擇:{{multiArray[0][multiIndex[0]]}} {{multiArray[1][multiIndex[1]]}}
1
這個是HTML中的代碼:
multiArray[0] [ ] 表示訪問年份數組——[‘2019年’, ‘2018年’, ‘2017年’]
multiArray[1] [ ] 表示訪問月份數組——[‘1月’, ‘2月’,·····,‘12月’]




都是用下標訪問,這里具體說明:
[‘2019年’, ‘2018年’, ‘2017年’]
multiArray[0] [0] 的數據即表示 2019年
multiArray[0] [1] 的數據即表示 2018年
multiArray[0] [2] 的數據即表示 2017年
月份同理 ~~


初始值,就是頁面一打開顯示的日期


HTML中:


當前選擇:{{multiArray[0][multiIndex[0]]}} {{multiArray[1][multiIndex[1]]}}
1
js中:


multiIndex: [0, 0] (檢索的初始值)
multiArray: [[‘2019年’, ‘2018年’, ‘2017年’], [‘1月’, ‘2月’, ‘3月’, ‘4月’, ‘5月’, ‘6月’, ‘7月’, ‘8月’, ‘9月’, ‘10月’, ‘11月’, ‘12月’]]


multiArray[0][multiIndex[0]] 的意思就是multiArray[0][0],也就是年份數組中的第一個 ‘2019年’
multiArray[1][multiIndex[1]] 的意思就是multiArray[1][1],也就是月份數組中的第一個 ‘1月’
所以一開始顯示:
當前選擇:2019年1月


接下來具體介紹一下picker
<picker mode="multiSelector" bindchange="bindMultiPickerChange" bindcolumnchange="bindMultiPickerColumnChange">
1
來看一下這個picker 的屬性設置:
(1)mode=“multiSelector” 表示這是一個多列選擇器,具體多少列 取決于range 的值,相當于一個提供值的庫
下面是微信官方文檔:


使用多項選擇器的時候是依賴于它的 ~~
這里我們設置


range="{{multiArray}}">
multiArray: [['2019年', '2018年', '2017年'], ['1月', '2月', '3月', '4月', '5月', '6月', '7月', '8月', '9月', '10月', '11月', '12月']]
1
2
唔。。 除了選擇器的范圍,這里還要設置選擇器的取值“規則”,也就是 value


然后我們的代碼是:


value="{{multiIndex}}"
1
由于我們的是多項選擇器,rang有兩欄,所以對應的值 value 應該是含有兩個元素的數組,value 主要是用于調用函數的時候返回修改后的值。
這里說value 的值是number(數字)我個人覺得是不準確的,后面會詳細解釋


(2)bindchange=“bindMultiPickerChange”


這個是選擇器的“值” value 如果發生變化(即點擊確認之后)就調用 bindMultiPickerChange 函數


  bindMultiPickerChange: function (e) {
 this.setData({
   multiIndex: e.detail.value
 })
}
1
2
3
4
5
e.detail.value 獲取了修改后的 value ,再調用 this.setData()就把索引multiIndex 的值給更新了,則HTML中的 “當前選擇” 才算更新 ~~


下面是對參數的一些說明:
e 是 event (這個事件對象),是一個類(Object) ——這些信息在調試界面也有


e.detail 其實也是一個類(Object)


e.detail.value 是一個數組(Array),帶有兩個元素(其實是數組類,因為你可以看到它還附帶了一些其他的信息)
因為能夠把value的值賦給 multiIndex 所以它其實也是一個數組類 ~~


(3)進階功能——日期的實時更新:


如 Demo 所示:
在滾動的同時 “當前選擇” 的日期就發生了改變,關于這個實時更新其實是通過bindcolumnchange=“bindMultiPickerColumnChange” 實現的:


即每每滾動就會調用這個函數


bindMultiPickerColumnChange: function (e) {
    var data = {
      multiArray: this.data.multiArray,
      multiIndex: this.data.multiIndex
    };
    data.multiIndex[e.detail.column] = e.detail.value;
    this.setData(data);
  }
1
2
3
4
5
6
7
8
函數的原理是構造一個類data 去替換原先 picker 中的data 類
下面給出各參數的信息:
首先是this.data.multiArray , 表示picker(this)的data 數據中的 multiArray


在multiArray 類中又有年份類和月份類:Array(3)和Array(12)——提供可選擇日期


this.data.multiIndex , 則是進行日期檢索的工具,兩個數字分別負責檢索年份和月份


把兩個類封裝進新建的data 對象


接下來是進行信息的實時更新,函數最重要的部分:
用e.detail.column 獲取改變的列數 (在我的例子中是第0列或第1列),column和value只是一個數字。


對被修改的那一列的檢索進行更新,用e.detail.column即可取到被修改的那一列


注意!! 這里的value 不是數組!!!
這是機制的問題,之前的value 對應的是multiIndex中兩個元素,必須得是數組
而這里的value 是在 bindcolumnchange (列改變就調用) 機制下,必定只有一個元素發生改變,沒必要返回一個數組,所以,只返回一個數字即可


然后是用新建的data 對原this.data 進行覆蓋(this 是可省略的)


————————————————
版權聲明:本文為CSDN博主「嵐月丶」的原創文章,遵循 CC 4.0 BY-SA 版權協議,轉載請附上原文出處鏈接及本聲明。
原文鏈接:https://blog.csdn.net/a10201516595/article/details/94319861

以上是由福州網站建設的小編為你分享了"詳解微信小程序picker"文章,如果你在這方面有什么問題,隨時聯系我們

福州微信小程序有關的文章
如果您有什么問題,歡迎咨詢我們客服! 點擊QQ咨詢
黄片毛片在线看_天天操天天射天天爽_精品久久久久中文慕人妻 _青娱乐在线免费视频_青青草精品在线视频_日本中文字幕久久_亚洲国产欧美另类_伊人手机在线视频_天天综合永久入口_久久久综合久久
丝袜美腿亚洲一区| 欧美日韩国产中文| 精品国产髙清在线看国产毛片| 日韩久久一区二区| 91在线视频免费91| 一区二区高清免费观看影视大全 | 色婷婷亚洲婷婷| 亚洲精品美腿丝袜| 欧美日韩一区高清| 国产在线精品免费| 日韩码欧中文字| 欧美剧情电影在线观看完整版免费励志电影| 伊人开心综合网| 日韩一级高清毛片| 国产成人超碰人人澡人人澡| 亚洲蜜臀av乱码久久精品蜜桃| 欧美天堂亚洲电影院在线播放 | 99久久精品国产精品久久| 亚洲国产一区二区视频| 欧美成人激情免费网| www.日韩大片| 欧美aaaaaa午夜精品| 一区精品在线播放| 日韩天堂在线观看| 91色.com| 国产精品18久久久久久久久| 亚洲一区二区三区中文字幕在线| 欧美一区二区三区免费视频| 成人a级免费电影| 蜜臀91精品一区二区三区| 中文字幕一区二区三区不卡在线| 日韩午夜小视频| 国内精品视频666| ㊣最新国产の精品bt伙计久久| 欧美日韩一区二区不卡| jlzzjlzz国产精品久久| 蜜桃视频在线一区| 亚洲高清免费视频| 国产精品久久久久久久久免费樱桃 | 欧美人动与zoxxxx乱| 国产成人免费在线视频| 日韩中文字幕亚洲一区二区va在线| 欧美国产日韩精品免费观看| 日韩三级视频在线看| 欧美日韩国产影片| 在线观看亚洲a| 99国产精品久久久久久久久久 | 日韩精品一级二级 | 狂野欧美性猛交blacked| 亚洲最新视频在线播放| 亚洲日本va在线观看| 久久久久久久久免费| 日韩欧美区一区二| 欧美一级日韩免费不卡| 7777精品伊人久久久大香线蕉| 色视频一区二区| 91视频在线看| 91视视频在线观看入口直接观看www| 国产福利一区二区三区视频在线 | 337p亚洲精品色噜噜| 欧美亚洲国产一区在线观看网站| www.av亚洲| 91丨九色丨蝌蚪富婆spa| 91麻豆精品在线观看| 色婷婷激情一区二区三区| 色天天综合色天天久久| 精品视频一区三区九区| 粉嫩av亚洲一区二区图片| 国产成人激情av| 91视频91自| 欧美乱妇20p| 26uuu亚洲综合色欧美| 国产亚洲成年网址在线观看| 中文字幕不卡在线播放| 亚洲欧美一区二区三区孕妇| 亚洲午夜久久久久中文字幕久| 视频一区在线播放| 国产中文字幕一区| caoporn国产精品| 欧美性猛交xxxxxx富婆| 精品久久久久一区二区国产| 国产欧美日韩一区二区三区在线观看 | 欧美日韩国产综合草草| 日韩情涩欧美日韩视频| 欧美经典一区二区三区| 亚洲蜜臀av乱码久久精品蜜桃| 日韩国产一二三区| 粉嫩在线一区二区三区视频| 色天天综合久久久久综合片| 337p亚洲精品色噜噜噜| 中文字幕免费在线观看视频一区| 亚洲一区二区三区四区在线| 激情国产一区二区| www.66久久| 日韩欧美激情在线| 亚洲综合色网站| 国产91在线看| 日韩一二在线观看| 一区二区三区免费网站| 国产精品77777竹菊影视小说| 欧美视频一区二区三区四区| 欧美国产精品中文字幕| 免费看日韩精品| 欧美性受xxxx| 中文字幕一区二区在线观看| 狠狠狠色丁香婷婷综合激情| 欧美日韩国产高清一区二区| 中文字幕一区二区三区不卡在线 | 亚洲图片欧美综合| 成人的网站免费观看| 精品久久人人做人人爱| 午夜私人影院久久久久| 色偷偷88欧美精品久久久| 欧美国产成人精品| 国产一区二区h| 精品欧美久久久| 日韩精品乱码av一区二区| 在线视频欧美区| 亚洲免费视频成人| 91小视频在线观看| 中文字幕在线观看不卡| 成人免费毛片aaaaa**| 国产亚洲欧洲997久久综合| 麻豆成人av在线| 精品少妇一区二区三区在线视频| 日韩精品福利网| 51精品国自产在线| 美腿丝袜亚洲色图| 欧美tickle裸体挠脚心vk| 精品一区二区国语对白| 久久夜色精品国产噜噜av| 国产伦精品一区二区三区免费| 日韩精品最新网址| 韩国v欧美v亚洲v日本v| 久久综合精品国产一区二区三区| 激情综合网天天干| 亚洲国产成人自拍| 色一情一伦一子一伦一区| 亚洲成av人**亚洲成av**| 6080yy午夜一二三区久久| 人人精品人人爱| 久久九九99视频| 99re热这里只有精品免费视频| 亚洲另类色综合网站| 欧美日韩夫妻久久| 美女视频第一区二区三区免费观看网站| 欧美一区二区三区男人的天堂| 激情综合色播五月| 最新高清无码专区| 欧美日本高清视频在线观看| 麻豆精品一区二区av白丝在线| 欧美精品一区二区精品网| av中文字幕亚洲| 日韩激情在线观看| 国产精品免费观看视频| 欧美日韩精品免费观看视频| 国产中文一区二区三区| 亚洲午夜电影在线观看| 久久综合九色综合久久久精品综合| 成人动漫一区二区三区| 日本不卡视频在线观看| 日本一区二区三区久久久久久久久不 | 在线精品观看国产| 国产真实乱对白精彩久久| 国产欧美日韩激情| 91精品国产全国免费观看| 成人免费看的视频| 毛片av一区二区三区| 亚洲精品日韩综合观看成人91| 欧美va日韩va| 欧美日韩在线一区二区| 成人自拍视频在线| 久久精品国产秦先生| 亚洲一区二区三区四区五区黄| 中文字幕av一区二区三区| 日韩欧美国产三级电影视频| 欧美自拍偷拍午夜视频| 国产91精品在线观看| 蜜桃精品视频在线观看| 性做久久久久久久免费看| 亚洲欧洲av在线| 国产人伦精品一区二区| 欧美成人一级视频| 91精品国产综合久久国产大片| 91麻豆自制传媒国产之光| 丁香婷婷综合激情五月色| 老司机午夜精品99久久| 日韩国产一二三区| 亚洲综合一区二区精品导航| 亚洲欧洲国产日韩| 国产精品色哟哟| 国产精品丝袜一区| 中文一区在线播放| 国产欧美日韩不卡免费| 国产欧美综合在线| 国产精品每日更新| 亚洲男人的天堂一区二区| 亚洲欧美日韩精品久久久久| 亚洲精品乱码久久久久久日本蜜臀| 中文字幕在线观看不卡|