【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)省、市、区数据源由组件自动生成,无需提供。
【picker】选择器组件说明的更多相关文章
- 微信小程序开发之picker选择器组件用法
picker组件时一个从底部弹起的可滚动的选择器(嵌入页面滚动器组件picker-view查看https://mp.weixin.qq.com/debug/wxadoc/dev/component/p ...
- 微信小程序 — 自定义picker选择器弹窗内容+textarea穿透bug
微信小程序中定义好的几种picker选择器,不管是日期选择器还是地区选择器,或是其他的都只有定死的样式和内容. 但是大多数开发程序的情况下还是需要自己写样式的,或是内容的. 例如: 代码如下: < ...
- JavaScript:日期选择器组件的使用
前言: 在实际项目开发中,日期选择是一个十分常见而且重要的问题,在表单中设计到日期的验证时,如果让用户自己输入时间的话,那么使用正则进行验证其正确性是不可取的,因为他一般只能验证日期的格式,无法准确的 ...
- 小程序循环多个picker选择器,实现动态增、减
现象 循环picker选择器,改变一个下拉框选项,导致全部下拉框选项改变: 问题 怎样操作才能实现只改变当前操作的下拉框的值? 思路 在js中设置一个数组变量,存储每个picker选择器默认的值:然后 ...
- vue 时间选择器组件
vue 时间选择器组件 组件效果: 单文件组件: <template> <div class="date-pickers"> <!--date为com ...
- 记录 vant Picker 选择器,实现三级联动,传对应省市区code值
最近使用vant UI写移动端,感觉还不错 功能挺全的,带的还有省市区三级联动. 但是 突然遇到一个 产品要传的 省市区的code码,还和vant的 邮编不一样,我*****. 看了一下vant UI ...
- Flutter中的日期、格式化日期、日期选择器组件
Flutter中的日期和时间戳 //獲取當前日期 DateTime _nowDate = DateTime.now(); print(_nowDate);//2019-10-29 10:57:20.3 ...
- 设计和编写一个异步通用Picker选择器,用于时间日期、城市、商品分类的选择
目录 一.功能规划 二.最底层基础实现 (1)Picker界面和功能实现 (2)不同类型的选择器基础实现 三.数据源层 (1)时间日期 (2)多级同步分类,如:城市 (3)多级异步分类,如:城市 四. ...
- 记:使用IScroll.js 开发picker日历组件遇到的问题及经验总结
IScroll中文文档 第一个问题: 边界留白 就是这种,上边界(最小),下边界(最大)有两个列表的位置是不能选择的.解决的办法是: 在HTML中,添加空白节点就行了. 第二个问题:初始化之后的滚动停 ...
随机推荐
- Linux下shellcode的编写
Linux下shellcode的编写 来源 https://xz.aliyun.com/t/2052 EdvisonV / 2018-02-14 22:00:42 / 浏览数 6638 技术文章 技 ...
- Objective-C——消息、Category和Protocol
转自:http://www.cnblogs.com/chijianqiang/archive/2012/06/22/objc-category-protocol.html 面向对象永远是个可以吐槽的话 ...
- Notes 20180307 : 运算符
我们前边曾说过程序=数据结构+算法,数据结构讲的是数据在内存中的存储形式,这个我会作为2018的一个重点来研究,不过在这里不做赘述,前半年的工作以JavaSE为主.算法则是我们在数据结构的基础上对其的 ...
- 竞赛题解 - CF Round #524 Div.2
CF Round #524 Div.2 - 竞赛题解 不容易CF有一场下午的比赛,开心的和一个神犇一起报了名 被虐爆--前两题水过去,第三题卡了好久,第四题毫无头绪QwQ Codeforces 传送门 ...
- 19-3-5Python中列表、元组、以及range
一.列表: 为什么要学列表? 因为字符串存在缺点: 1) 只能存储少量的数据. 2) 数据类型无论索引.切片 获取的都是字符串类型,类型过于单一,转化成它原来的类型还需要进一步转换 ...
- html 让table表格中的td单元格内容过长显示为固定长度,多余部分用省略号代替?
<th class="wrap">商品名</th> .wrap{ width: 150px; //设置需要固定的宽度 white-space: nowrap ...
- springboot(2.0以上) --数据源切换时报错
在进行数据源切换时spring.datasource.type类型根据源码所给的默认值修改后依然报错 先看源码:标色部分 , 就是springboot所给的数据源 , 正常来说只要在配置文件中修改 ...
- node的安装和配置
一 . 直接安装node 1. http://nodejs.cn/download/ 根据自己的电脑选择适合的安装包 2.安装 , 无脑下一步 , 可以选择安装路径 , 但是一定要记住 . 3.命令行 ...
- 前台页面上传data image图片,java后台接收图片保存
最近在项目中有这么一个需求,就是上传一个视频文件,然后要获取视频文件的第一帧图片,这个可以通过canvas获取得到,得到的是一个dataURL,之后还要将这个图片上传到云,这个时候如何操作就不清楚了, ...
- 详解 Python3 正则表达式(二)
上一篇:详解 Python3 正则表达式(一) 本文翻译自:https://docs.python.org/3.4/howto/regex.html 博主对此做了一些批注和修改 ^_^ 使用正则表达式 ...