官方api:https://mp.weixin.qq.com/debug/wxadoc/dev/component/picker.html

上边是官网的api。小程序中,底部下拉滚动选择主要有这几种

  下拉选择,时间选择,城市选择,多项选择。

1.index.js中:

//index.js
//获取应用实例
const app = getApp()
Page({
data: {
//设置初始值
array: ['中国', '美国', '巴西', '俄罗斯'],
objectArray: [
{
id: ,
name: '中国'
},
{
id: ,
name: '美国'
},
{
id: ,
name: '巴西'
},
{
id: ,
name: '俄罗斯'
}
],
index: ,
multiArray: [['无脊柱动物', '脊柱动物'], ['扁性动物', '线形动物', '环节动物', '软体动物', '节肢动物'], ['寄生虫', '吸血虫']],
objectMultiArray: [
[
{
id: ,
name: '无脊柱动物'
},
{
id: ,
name: '脊柱动物'
}
], [
{
id: ,
name: '扁性动物'
},
{
id: ,
name: '线形动物'
},
{
id: ,
name: '环节动物'
},
{
id: ,
name: '软体动物'
},
{
id: ,
name: '节肢动物'
}
], [
{
id: ,
name: '猪肉绦虫'
},
{
id: ,
name: '吸血虫'
}
]
],
multiIndex: [, , ],
date: '2016-09-01',
time: '12:01',
region: ['辽宁省', '大连市', '高新园区'],
customItem: '全部'
},
//普通选择器的点击事件
bindPickerChange: function (e) {
console.log('picker发送选择改变,携带值为', e.detail.value)
this.setData({
index: e.detail.value
})
},
//多列选择器
bindMultiPickerChange: function (e) {
console.log('picker发送选择改变,携带值为', e.detail.value)
this.setData({
multiIndex: e.detail.value
})
},
//多列选择器,某一列的值改变时触发事件
bindMultiPickerColumnChange: function (e) {
console.log('修改的列为', e.detail.column, ',值为', e.detail.value);
var data = {
multiArray: this.data.multiArray,
multiIndex: this.data.multiIndex
};
data.multiIndex[e.detail.column] = e.detail.value;
switch (e.detail.column) {
case :
switch (data.multiIndex[]) {
case :
data.multiArray[] = ['扁性动物', '线形动物', '环节动物', '软体动物', '节肢动物'];
data.multiArray[] = ['寄生虫', '吸血虫'];
break;
case :
data.multiArray[] = ['鱼', '两栖动物', '爬行动物'];
data.multiArray[] = ['鲫鱼', '带鱼'];
break;
}
data.multiIndex[] = ;
data.multiIndex[] = ;
break;
case :
switch (data.multiIndex[]) {
case :
switch (data.multiIndex[]) {
case :
data.multiArray[] = ['猪肉绦虫', '吸血虫'];
break;
case :
data.multiArray[] = ['蛔虫'];
break;
case :
data.multiArray[] = ['蚂蚁', '蚂蟥'];
break;
case :
data.multiArray[] = ['河蚌', '蜗牛', '蛞蝓'];
break;
case :
data.multiArray[] = ['昆虫', '甲壳动物', '蛛形动物', '多足动物'];
break;
}
break;
case :
switch (data.multiIndex[]) {
case :
data.multiArray[] = ['鲫鱼', '带鱼'];
break;
case :
data.multiArray[] = ['青蛙', '娃娃鱼'];
break;
case :
data.multiArray[] = ['蜥蜴', '龟', '壁虎'];
break;
}
break;
}
data.multiIndex[] = ;
console.log(data.multiIndex);
break;
}
this.setData(data);
},
//日期选择器
bindDateChange: function (e) {
console.log('picker发送选择改变,携带值为', e.detail.value)
this.setData({
date: e.detail.value
})
},
//时间选择器
bindTimeChange: function (e) {
console.log('picker发送选择改变,携带值为', e.detail.value)
this.setData({
time: e.detail.value
})
},
//省市区选择器
bindRegionChange: function (e) {
console.log('picker发送选择改变,携带值为', e.detail.value)
this.setData({
region: e.detail.value
})
}
})

2.index.wxml中:

<view class="section">
<view class="section__title">普通选择器:</view>
<picker bindchange="bindPickerChange" value="{{index}}" range="{{array}}">
<view class="picker">
当前选择:{{array[index]}}
</view>
</picker>
</view> <view class="section">
<view class="section__title">多列选择器:</view>
<picker mode="multiSelector" bindchange="bindMultiPickerChange" bindcolumnchange="bindMultiPickerColumnChange" value="{{multiIndex}}" range="{{multiArray}}">
<view class="picker">
当前选择:{{multiArray[][multiIndex[]]}},{{multiArray[][multiIndex[]]}},{{multiArray[][multiIndex[]]}}
</view>
</picker>
</view>
<view class="section">
<view class="section__title">时间选择器:</view>
<picker mode="time" value="{{time}}" start="09:01" end="21:01" bindchange="bindTimeChange">
<view class="picker">
当前选择: {{time}}
</view>
</picker>
</view> <view class="section">
<view class="section__title">日期选择器:</view>
<picker mode="date" value="{{date}}" start="2015-09-01" end="2017-09-01" bindchange="bindDateChange">
<view class="picker">
当前选择: {{date}}
</view>
</picker>
</view>
<view class="section">
<view class="section__title">省市区选择器:</view>
<picker mode="region" bindchange="bindRegionChange" value="{{region}}" custom-item="{{customItem}}">
<view class="picker">
当前选择:{{region[]}},{{region[]}},{{region[]}}
</view>
</picker>
</view>

3.index.wxss中:

.section__title {
margin: 20rpx;
} .section {
width: %;
font-size: 35rpx;
margin: 10rpx;
color: #;
} .picker {
color: #6BD44E;
}
												

微信小程序—picker(滚动选择器)的更多相关文章

  1. 微信小程序-通知滚动小提示

    代码地址如下:http://www.demodashi.com/demo/14044.html 一.前期准备工作 软件环境:微信开发者工具 官方下载地址:https://mp.weixin.qq.co ...

  2. 微信小程序picker组件两列关联使用方式

    在使用微信小程序picker组件时候,可以设置属性   mode = multiSelector   意为多列选择,关联选择,当第一列发生改变时侯,第二列甚至第三列发生相应的改变.但是官方文档上给的只 ...

  3. mpvue微信小程序多列选择器用法:实现省份城市选择

    前言 微信小程序默认给我们提供了一个省市区的picker选择器,只需将mode设置为region即可 <picker mode="region" bindchange=&qu ...

  4. 自定义省市选择器 微信小程序多列选择器

    由于微信小程序的选择器为省市区选择器共3列 如我仅需要省市2列的选择器 就需要我们另寻他法找来找去没有合适的 只能自己写了 1. 首先我们把所需要的省数据 市县数据放在一个 p_c.js 文件里面,使 ...

  5. 微信小程序picker组件关于objectArray数据类型绑定

    一.前言: 我发现很多的同学都在抱怨说微信小程序的picker的mode = selector/mode = multiSelector 无法实现Object Array数据类型的绑定,其实很多人就想 ...

  6. mpvue + 微信小程序 picker 实现自定义多级联动 超简洁

    微信小程序官网只提供了省市区的三级联动,实际开发中更多的是自定义的多级联动: 依照微信小程序官网提供的自定义多级联动,需要使用到picker 的多列选择器,即设置 mode = multiSelect ...

  7. 微信小程序----日期时间选择器(自定义精确到分秒或时段)

    声明 bug:由于此篇博客是在bindcolumnchange事件中做的值的改变处理,因此会出现当你选择时,没有点击确定,直接取消返回后,会发现选择框的值依然改变.造成原因:这一点就是由于在bindc ...

  8. 微信小程序scroll-view滚动一次多次触发的问题解决方案

    最近使用微信小程序开发的时候,需要用scroll-view的bindscrolltolower事件,控制加载下一页的内容.但是发现在ios里,下拉滚动一次,事件触发两次,导致重复加载数据. 经过百度和 ...

  9. 微信小程序——picker通过value返回你想获取的值

    关于微信小程序中的picker使用方法可以访问:picker-小程序 从它的官方文档中,可以看出它返回的value值是它range的下标: 在项目中,我们大多数时候传的值并不是需要这个下标,而是其他的 ...

随机推荐

  1. ZOJ - 2243 - Binary Search Heap Construction

    先上题目: Binary Search Heap Construction Time Limit: 5 Seconds      Memory Limit: 32768 KB Read the sta ...

  2. LDAP目录服务折腾之后的总结

    前言 公司管理员工信息以及组织架构的后台系统要和Active Directory目录服务系统打通,后台系统使用PHP开发, 折腾了二十多天,终于上线了,期间碰到过各种疑难问题,不过总算在GOOGLE大 ...

  3. spring mvc dispatcherservlet处理request流程

    1.dispatcherservlet接收到请求后,doDispatch(request,response) 2.doDispatch()里进行handlermapping,handlermappin ...

  4. linux c编程訪问数据库

    源代码例如以下: #include <stdio.h> #include <stdlib.h> #include <mysql/mysql.h> int main( ...

  5. UIScrollView滚动时隐藏底部导航栏问题

    - (void)scrollViewDidScroll:(UIScrollView *)scrollView { NSLog(@"開始滚动"); int currentPostio ...

  6. [LeetCode][Java] Minimum Depth of Binary Tree

    题目: Given a binary tree, find its minimum depth. The minimum depth is the number of nodes along the ...

  7. 【c语言】字符串替换空格:请实现一个函数,把字符串中的每一个空格替换成“%20”

    // 字符串替换空格:请实现一个函数,把字符串中的每一个空格替换成"%20". // 比如输入"we are happy.",则输出"we%20are ...

  8. vim copy termi

    用vim写代码时,经常遇到这样的场景,复制多行,然后粘贴. 这样做:1. 将光标移动到要复制的文本开始的地方,按v进入可视模式.2. 将光标移动到要复制的文本的结束的地方,按y复制.此时vim会自动将 ...

  9. 完美解决 linux sublime 中文无法输入

    感谢oschina 中几位前辈的分享 下面是我结合自己的情况所配置的具体步骤: 系统环境: ubuntu 12.10 输入法:fcitx fcitx 安装 apt-get install fcitx ...

  10. 通过Ajax和SpringBoot交互的示例

    转自:https://blog.csdn.net/oppo5630/article/details/52093898/