讲述小程序之组件picker(从底部弹起的滚动选择器)

简介: 讲述小程序之组件picker(从底部弹起的滚动选择器)

picker(从底部弹起的滚动选择器)

image.png

·header-text                解释:选择器的标题,仅安卓可用

·mode                         解释:选择器类型


mode的类型包括:

image.png


举例:

1.selector:普通选择器

wxml:

<view><view>普通选择器</view><pickerbindchange="bindPickerChange"value="{{index}}"range="{{array}}"><view>      当前选择:{{array[index]}}
</view></picker></view>

js:

Page({
data: {
array: ['剑豪', '剑圣', '剑姬', '剑魔'],
objectArray: [
      {
id: 0,
name: '剑豪'      },
      {
id: 1,
name: '剑圣'      },
      {
id: 2,
name: '剑姬'      },
      {
id: 3,
name: '剑魔'      }
    ],
index: 0,
    },
bindPickerChange: function(e) {
console.log('picker发送选择改变,携带值为', e.detail.value)
this.setData({
index: e.detail.value    })
  },
})

效果展示:

26.gif

2.multiSelector:多列选择器

wxml:

<view><view>多列选择器</view><pickermode="multiSelector"bindchange="bindMultiPickerChange"bindcolumnchange="bindMultiPickerColumnChange"value="{{multiIndex}}"range="{{multiArray}}"><viewclass="picker">      当前选择:{{multiArray[0][multiIndex[0]]}},{{multiArray[1][multiIndex[1]]}},{{multiArray[2][multiIndex[2]]}}
</view></picker></view>

js:

Page({
data: {
multiArray: [['英雄联盟', '地下城与勇士'], ['上路', '打野', '中路', 'ADC', '辅助',], ['诺手', '狗头']],
objectMultiArray: [
      [
        {
id: 0,
name: '英雄联盟'        },
        {
id: 1,
name: '地下城与勇士'        }
      ], [
        {
id: 0,
name: '上路'        },
        {
id: 1,
name: '打野'        },
        {
id: 2,
name: '中路'        },
        {
id: 3,
name: 'ADC'        },
        {
id: 3,
name: '辅助'        }
      ], [
        {
id: 0,
name: '诺手'        },
        {
id: 1,
name: '狗头'        }
      ]
    ],
multiIndex: [0, 0, 0],
    },
bindMultiPickerColumnChange: function (e) {
console.log('修改的列为', e.detail.column, ',值为', e.detail.value);
vardata= {
multiArray: this.data.multiArray,
multiIndex: this.data.multiIndex    };
data.multiIndex[e.detail.column] =e.detail.value;
switch (e.detail.column) {
case0:
switch (data.multiIndex[0]) {
case0:
data.multiArray[1] = ['上路', '打野', '中路', 'ADC', '辅助'];
data.multiArray[2] = ['诺手', '狗头'];
break;
case1:
data.multiArray[1] = ['鬼剑', '枪剑', '魔法师'];
data.multiArray[2] = ['红眼', '阿修罗'];
break;
        }
data.multiIndex[1] =0;
data.multiIndex[2] =0;
break;
case1:
switch (data.multiIndex[0]) {
case0:
switch (data.multiIndex[1]) {
case0:
data.multiArray[2] = ['诺手', '狗头'];
break;
case1:
data.multiArray[2] = ['狮子狗','螳螂','豹女','蜘蛛'];
break;
case2:
data.multiArray[2] = ['亚索', '冰女','卡牌','艾克'];
break;
case3:
data.multiArray[2] = ['烬', '卡沙', '女枪','卢锡安'];
break;
case4:
data.multiArray[2] = ['泰坦', '莫甘娜', '派克', '日女'];
break;
            }
break;
case1:
switch (data.multiIndex[1]) {
case0:
data.multiArray[2] = ['红眼', '阿修罗'];
break;
case1:
data.multiArray[2] = ['机械', '前线'];
break;
case2:
data.multiArray[2] = ['逐风', '元素', '嗜血'];
break;
            }
break;
        }
data.multiIndex[2] =0;
break;
    }
console.log(data.multiIndex);
this.setData(data);
  },
})

效果:

27.gif

3.time:时间选择器

wxml:

<view><view>时间选择器</view><pickermode="time"value="{{time}}"start="09:01"end="21:01"bindchange="bindTimeChange"><view>      当前选择: {{time}}
</view></picker></view>

js:

Page({
data: {
time: '12:01'    },
bindTimeChange: function(e) {
console.log('picker发送选择改变,携带值为', e.detail.value)
this.setData({
time: e.detail.value    })
  },
})

效果:

28.gif

4.date:日期选择器

wxml:

<view><view>日期选择器</view><pickermode="date"value="{{date}}"start="2000-09-01"end="2050-09-01"bindchange="bindDateChange"><view>      当前选择: {{date}}
</view></picker></view>

js:

Page({
data: {
date: '2016-09-01'    },
bindDateChange: function(e) {
console.log('picker发送选择改变,携带值为', e.detail.value)
this.setData({
date: e.detail.value    })
  },
})

效果:

29.gif

5. region:省市区选择器

wxml:

<view><view>省市区选择器</view><pickermode="region"bindchange="bindRegionChange"value="{{region}}"custom-item="{{customItem}}"><view>      当前选择:{{region[0]}},{{region[1]}},{{region[2]}}
</view></picker></view>

js:

Page({
data: {
region: ['广东省', '广州市', '海珠区']
    },
bindRegionChange: function (e) {
console.log('picker发送选择改变,携带值为', e.detail.value)
this.setData({
region: e.detail.value    })
  }
})

30.gif



























目录
相关文章
|
29天前
|
小程序 数据可视化 JavaScript
微信小程序:轻松实现时间轴组件
本文介绍了如何在微信小程序中实现一个可视化时间轴组件。该组件适用于展示用户资金流动、投资结算等时间节点,帮助用户直观了解资金去向。时间轴支持自定义节点形状、显示序号、倒序排列等功能,并通过插槽灵活定义动态内容。文中详细介绍了组件的设计与使用方法,以及如何结合动态 slot 实现自定义操作。该组件为展示用户资金信息提供了美观、易用的解决方案。
57 1
微信小程序:轻松实现时间轴组件
|
28天前
|
小程序
微信小程序动态tabBar实现:基于自定义组件,灵活支持不同用户角色与超过5个tab自由组合(更新版)
微信小程序动态tabBar实现:基于自定义组件,灵活支持不同用户角色与超过5个tab自由组合(更新版)
367 1
|
29天前
|
小程序 搜索推荐 API
微信小程序:自定义关注公众号组件样式
尽管关注公众号组件的样式固定且不可修改,但产品经理的需求却需要个性化的定制。在这种情况下,我们需要寻找解决方案,以满足这些特殊需求,尽管这可能有点棘手。
56 0
微信小程序:自定义关注公众号组件样式
|
1月前
|
小程序 前端开发 JavaScript
微信小程序图表制作利器:ECharts组件的使用与技巧
微信小程序图表制作利器:ECharts组件的使用与技巧
51 1
|
1月前
|
缓存 小程序 索引
uni-app开发微信小程序时vant组件van-tabs的使用陷阱及解决方案
uni-app开发微信小程序时vant组件van-tabs的使用陷阱及解决方案
173 1
|
1月前
|
小程序 JavaScript
微信小程序之input组件及其获取用户输入信息
微信小程序之input组件及其获取用户输入信息
50 1
|
2月前
|
小程序 容器
微信小程序常用组件的简单使用 view,scroll-view,swiper,swiper-item,text,rich-text,button,image
本文介绍了微信小程序中常用组件的使用方法,包括view、scroll-view、swiper与swiper-item、text与rich-text、button以及image组件。详细解释了各组件的功能、属性以及如何在小程序页面中进行使用。
微信小程序常用组件的简单使用 view,scroll-view,swiper,swiper-item,text,rich-text,button,image
|
1月前
|
小程序 前端开发 JavaScript
小程序入门之认识view和text组件
小程序入门之认识view和text组件
47 0
|
3月前
|
人工智能 小程序 编译器
Ant Design Mini 问题之Antd Mini 使用小程序函数式组件(functional-mini)来确保组件逻辑适配到双端,如何实现
Ant Design Mini 问题之Antd Mini 使用小程序函数式组件(functional-mini)来确保组件逻辑适配到双端,如何实现
|
3月前
|
小程序 前端开发 API
Ant Design Mini 问题之在微信小程序中,由于不支持slot特性,Ant Design Mini的什么组件功能受到了限制,如何解决
Ant Design Mini 问题之在微信小程序中,由于不支持slot特性,Ant Design Mini的什么组件功能受到了限制,如何解决

热门文章

最新文章