【picker】選擇器組件說明


picker從底部彈起選擇器組件

組件細節:

1) 該組件有五種類型,分別是普通選擇器、多列選擇器、時間選擇器、日期選擇器、省市區選擇器。

2) 組件內必需包裹內容,不然無法彈出選項

<!-- 采用wxs提供數據源更直觀顯示 -->
<wxs module="picker">
  module.exports.items=['美國', '德國', '英國', '法國'];
</wxs>

<!-- 點擊灰色的選擇器無法彈出,因為其內部沒有包裹內容 -->
<picker mode="selector" value="0" style="background:#ccc;width:300px;height:100px;" range="{{picker.items}}">
</picker>

<!-- 點擊紅色選擇器內文字可以彈出 -->
<picker mode="selector" value="0" style="background:#f00;width:300px;height:100px;" range="{{picker.items}}"> <view>點我這一行可以彈出</view> </picker>

3) 五類選擇器默認返回值不同(值也可以通過JS腳本進行更改):

    普通選擇器:[Number] 當前選項的序號值,第一項序號為0,以次累推

    多列選擇器:[Array] 元素值是每一列的選擇項的序號值

    時間選擇器:[String] 格式 hh:mm

    日期選擇器:[String] 格式 YYYY-MM-DD

    省市區選擇器: [Array] 格式 [ 省名稱, 市名稱, 區名稱 ]

 

五種類型:

1、 普通選擇器: mode="selector"

原型:

<picker
    mode="selector"
    value="[String]"
    range="[Array | Object Array]"
    range-key="[String]"
    disabled="[Boolean]"
    bindchange="[EventHandle]"
    bindcancel="[EventHandle]"    
>
</picker>

 

屬性:

名稱 是否必需 類型 默認值 說明
mode [String] selector 固定值為selector表示是普通的選擇器
range [Array | Object Array] []

初始化選擇器選項的數據源

值類型為Array時,數組的每一個元素為選擇器的選項列表

值類型為Object Array時,要求指明range-key,做為選項列表值

range [String]  

當 range 是一個 Object Array 時,通過 range-key 來指定 Object 中 key 的值作為選擇器顯示內容

value [String] 空值

選擇器默認值。

其值默認為選項的序號值(第一項序號為0,以次類推)

如果想自定義其值,可以通過JS設置此屬性值

disabled [Boolean] false 值為true表示禁用此組件
bindchange [EventHandle]  

選擇組件選項時觸發此事件,不管選擇的項是否發生變化都會觸發此事件,(即點擊組件右側“確認”按鈕時就會觸發此事件)

通過JS改變組件值時不觸發此事件。

事件參數中返回組件值:event.detail = {value: value}

bindcancel [EventHandle]  

點擊組件右側“取消”按鈕時就會觸發此事件

 

2、多列選擇器:mode="multiSelector"

原型:

<picker
    mode="multiSelector"  
    value="[Array]"
    range="[二維Array / 二維Object Array]"
    range-key="[String]"
    disabled="[boolean]"
    bindchange="[EventHandle]"
    bindcancel="[EventHandle]"
    bindcolumnchange="[EventHandle]"
>
</picker>

 

 屬性:

名稱 是否必需 類型 默認值 說明
mode [String] multiSelector 固定值為multiSelector表示是多列選擇器
range [Array | Object Array] []

初始化選擇器選項的數據源

mode為 selector 或 multiSelector 時,range 有效。二維數組,長度表示多少列,數組的每項表示每列的數據,如[["a","b"], ["c","d"]]

range [String]  

當 range 是一個 二維Object Array 時,通過 range-key 來指定 Object 中 key 的值作為選擇器顯示內容

value [Array] []

選擇器默認值。

如果想自定義其值,可以通過JS設置此屬性值

value 每一項的值表示選擇了 range 對應項中的第幾個(下標從 0 開始)

disabled [Boolean] false 值為true表示禁用此組件
bindchange [EventHandle]  

選擇組件選項時觸發此事件,不管選擇的項是否發生變化都會觸發此事件,(即點擊組件右側“確認”按鈕時就會觸發此事件)

通過JS改變組件值時不觸發此事件。

事件參數中返回組件值:event.detail = {value: value}

bindcolumnchange [EventHandle]  

某一列的值改變時觸發 columnchange 事件,event.detail = {column: column, value: value},column 的值表示改變了第幾列(下標從0開始),value 的值表示變更值的下標

bindcancel [EventHandle]  

點擊組件右側“取消”按鈕時就會觸發此事件

 

3、時間選擇器:mode="time"

原型:

<picker
    mode="time"
    value="[String]"
    start="[Date]"
    end="[Date]"
    disabled="[Boolean]"
    bindchange="[EventHandle]"
    bindcancel="[EventHandle]"
>
</picker>

 

屬性:

名稱 是否必需 類型 默認值 說明
mode [String] time 固定值為time表示是普通的選擇器
start [String]  

有效時間范圍的開始,字符串格式為"hh:mm"

end [String]  

有效時間范圍的結束,字符串格式為"hh:mm"

value [String]  

表示選中的時間,格式為"hh:mm"

disabled [Boolean] false 值為true表示禁用此組件
bindchange [EventHandle]  

選擇組件選項時觸發此事件,不管選擇的項是否發生變化都會觸發此事件,(即點擊組件右側“確認”按鈕時就會觸發此事件)

通過JS改變組件值時不觸發此事件。

事件參數中返回組件值:event.detail = {value: value}

bindcancel [EventHandle]  

點擊組件右側“取消”按鈕時就會觸發此事件

 

4、日期選擇器:mode="date"

原型:

<picker
    mode="date"
    start="[String]"
    end="[String]"
    fields="[day | month | year]"
    value="[String]"
    disabled="[Boolean]"
    bindchange="[EventHandle]"
    bindcancel="[EventHandle]"
>
</picker>

 

屬性:

名稱 是否必需 類型 默認值 說明
mode [String] date 固定值為date表示是普通的選擇器
start [String]  

有效日期起始范圍,格式為"YYYY-MM-DD"

end [String]  

有效日期結束范圍,格式為"YYYY-MM-DD"

fields [day | month | year] day

有效值 year,month,day,表示選擇器的粒度

值為day時,格式為: YYYY-MM-DD

值為month時,格式為: YYYY-MM

值為year時,格式為: YYYY

value [String] 0

表示選中的日期,格式為"YYYY-MM-DD"

disabled [Boolean] false 值為true表示禁用此組件
bindchange [EventHandle]  

選擇組件選項時觸發此事件,不管選擇的項是否發生變化都會觸發此事件,(即點擊組件右側“確認”按鈕時就會觸發此事件)

通過JS改變組件值時不觸發此事件。

事件參數中返回組件值:event.detail = {value: value}

bindcancel [EventHandle]  

點擊組件右側“取消”按鈕時就會觸發此事件

 

5. 省市區選擇器:mode="region" 

原型:

<picker
    mode="region"
    value="[Array]"
    custom-item="[String]"
    disabled="[Boolean]"
    bindchange="[EventHandle]"
    bindcancel="[EventHandle]"
>
</picker>

 

屬性:

名稱 是否必需 類型 默認值 說明
mode [String] regio 固定值為regio表示是普通的選擇器
value [Array] []

表示選中省市區,格式:[省, 市, 區]

custom-item [String]   可為每一列的頂部添加一個自定義的項(比如全部,或者請選擇)
disabled [Boolean] false 值為true表示禁用此組件
bindchange [EventHandle]  

選擇組件選項時觸發此事件,不管選擇的項是否發生變化都會觸發此事件,(即點擊組件右側“確認”按鈕時就會觸發此事件)

通過JS改變組件值時不觸發此事件。

事件參數中返回組件值:event.detail = {value: value}

bindcancel [EventHandle]  

點擊組件右側“取消”按鈕時就會觸發此事件

 

注意:

1) 該選擇器顯示三列類型選項,分別是省、市、區。

2)該選擇器的顯示是[省份名稱, 市名稱, 區名稱]。

3)省、市、區數據源由組件自動生成,無需提供。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM