官方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. redis 初学

    1.网站:http://redis.cn/ 2.下载安装和配置 http://www.tuicool.com/articles/aQbQ3u 3.简述redis http://www.jb51.net ...

  2. 在ANGULAR的SERVICE中,哪种才是最基本的实现?(Provider)

    今天刚好看到这一节. 节选一下,稍后,实操完成之后,会补上所有代码 Sometimes, it might be interesting to create configurable services ...

  3. Servlet中使用getInputStream进行文件上传

    据说古老了点,所以代码比较繁琐,主要用于处理文件的地方太多. 下节用SERVLET3.0的Part进行操作一下. form.html: <!DOCTYPE html> <html&g ...

  4. P - How many

    Give you n ( n < 10000) necklaces ,the length of necklace will not large than 100,tell me How man ...

  5. [bzoj4066/2683]简单题_KD-Tree

    简单题 bzoj-4066 题目大意:n*n的棋盘,开始为均为0,支持:单点加权值,查询矩阵权值和,强制在线. 注释:$1\le n\le 5\cdot 10^5$,$1\le m \le 2\cdo ...

  6. POJ 3653 &amp; ZOJ 2935 &amp; HDU 2722 Here We Go(relians) Again(最短路dijstra)

    题目链接: PKU:http://poj.org/problem? id=3653 ZJU:problemId=1934" target="_blank">http ...

  7. 『Spring.NET+NHibernate+泛型』框架搭建之Model(二)

    依照搭建项目的顺序来比較好描写叙述一些,我一般先搭建实体层,本节内容纯属于NHibernate范畴.先上图和代码,然后对着图和代码逐一解说,以角色表为例:   T_Role表: 数据库表设计非常eas ...

  8. eclipse添加插件、删除插件 示例: eclipse marketplace

    在有些版本的eclips上并没有eclipse marketplace ,这让eclipse添加插件变得比较玛法,传统的办法都是通过自行下载插件或者用 help->install new sof ...

  9. JQuery调用WCF服务,部署在iis

    Normal 0 7.8 磅 0 2 false false false EN-US ZH-CN X-NONE /* Style Definitions */ table.MsoNormalTable ...

  10. Codeforces--106C--Buns(背包)

    Buns Time Limit: 2000MS   Memory Limit: 262144KB   64bit IO Format: %I64d & %I64u Submit Status ...