【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)省、市、区数据源由组件自动生成,无需提供。

 

转载于:https://www.cnblogs.com/wm218/p/9937113.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值