picker,從底部彈起的滾動選擇器凤类。這里只討論mode=”multiSelector”的格式
比較難理解的兩個屬性:range和value的搭配使用普气。
首先上官方定義:
1.? ? range必須是二維數(shù)組或者二維對象數(shù)組谜疤。
2.? ? value是一維數(shù)組,用于標記使用者選中了range里的哪幾個值现诀。
我們先考慮range為二維數(shù)組的情形:
由此可見,value數(shù)組第一項代表的是range中第一個數(shù)組里選中的值仔沿;value數(shù)組第二項代表的是range中第二個數(shù)組里選中的值。
range里有多少個數(shù)組绵跷,意味著value里有多少項
當用戶改變picker里的值時成福,會觸及到兩個事件:columnchange和change。對應(yīng)的handle可在bindcolumnchange里奴艾、bindchange里填寫。還是和以前一樣蕴潦,上官方定義:
兩者的區(qū)別在于潭苞,前者只要改變了某一列的值,哪怕沒有真正選擇它此疹,都會觸發(fā)columnchange事件蜜猾;而后者只有真的選擇了(即點擊了選擇器里的確定鍵)振诬,才能觸發(fā)change事件。
現(xiàn)在我們來考慮range為二維對象數(shù)組的情形:
multiArray: [
? ? ? [{
? ? ? ? ? name: "江蘇",
? ? ? ? ? key: "1"
? ? ? },
? ? ? {
? ? ? ? ? name: "安徽",
? ? ? ? ? key: "2"
? ? ? }],
? ? ? [{
? ? ? ? ? name:"南京",
? ? ? ? ? key:"1"
? ? ? ? },
? ? ? ? {
? ? ? ? ? name:"宿遷",
? ? ? ? ? key:"2"
? ? ? ? }]
? ? ],? (這里為了簡化將multiArray的第二項城市寫死了肩豁,實際上是會根據(jù)省的不同而動態(tài)變化)
注意:里面的每一個一維對象數(shù)組格式必須保持一致辫呻,否則選擇器的展示會出現(xiàn)undefined。
為了能讓小程序知道你究竟要展示的是name還是key放闺,你需要range-key屬性:
剩下的與range為二維數(shù)組的情形基本一致。