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

最新文章

  1. 【小窍门】cmd控制台无法输入中文(日文),输出非英文字符都是问号解决办法,中文都是问号解决办法
  2. &lt;&lt;精益创业&gt;&gt;读书笔记
  3. Spring MVC静态资源处理(在applicationContex.xml文件中进行配置)
  4. CSS重置样式表
  5. 【转】PHP框架性能测试报告 - ThinkPHP 3.2.3 Laravel 5.2 Yii2.0.5
  6. Python练习册--PIL处理图片之加水印
  7. (转)解决png图片在IE6下不透明的方法
  8. codevs1041
  9. 第39届ACM亚洲区域赛牡丹江赛区赛后总结
  10. think in uml 2.1
  11. word/pdf互转的链接
  12. IOC的底层实现
  13. Leetcode:003 无重复字符串
  14. React基础篇 - 02.JSX 简介
  15. Lint——Android SDK提供的静态代码扫描工具
  16. 保存chrome主题背景的图片
  17. hive如何执行一条sql的例子
  18. WebGL编程指南案例解析之3D视图视区问题
  19. 使用LVM对系统盘进行扩容
  20. iOS系统声音列表

热门文章

  1. 制作二维码java
  2. 【luogu P1073 最优贸易】 题解
  3. sql中table用法
  4. Linux基础命令之文件和目录操作(一)
  5. CentOS7安装.Net Core2.2
  6. shell入门基础&amp;常见命令及用法
  7. 【转载】 旧版本Microsoft Office正在配置解决方法
  8. Spring Boot 多环境部署
  9. memcache类的扩展函数
  10. mysql 几种搜索引擎的比较