微信小程序三级联动选择器使用方法


Posted in Javascript onMay 19, 2020

本文实例为大家分享了微信小程序三级联动选择器的具体代码,供大家参考,具体内容如下

效果图

微信小程序三级联动选择器使用方法

实现原理

利用微信小程序的picker组件,其中:
1,普通选择器:mode = selector实现一级选择实例;
2,省市区选择器:mode = region实现省市区三级联动;
3, 多列选择器:mode = multiSelector实现二级和三级联动的10以内数字的乘法。

WXML

<view class="tui-picker-content">
 <view class="tui-picker-name">一级选择实例</view>
 <picker bindchange="changeCountry" value="{{countryIndex}}" range="{{countryList}}">
 <view class="tui-picker-detail">{{countryList[countryIndex]}}</view>
 </picker>
</view>

<view class="tui-picker-content">
 <view class="tui-picker-name">省市区三级联动选择</view>
 <picker bindchange="changeRegin" mode = "region" value="{{region}}">
 <view class="tui-picker-detail">{{region[0]}} - {{region[1]}} - {{region[2]}}</view>
 </picker>
</view>

<view class="tui-picker-content">
 <view class="tui-picker-name">自定义二级联动选择</view>
 <picker bindchange="changeMultiPicker" mode = "multiSelector" value="{{multiIndex}}" range="{{multiArray}}">
 <view class="tui-picker-detail">
 {{multiArray[0][multiIndex[0]]}} * {{multiArray[1][multiIndex[1]]}} = {{multiArray[0][multiIndex[0]] * multiArray[1][multiIndex[1]]}}
 </view>
 </picker>
</view>

<view class="tui-picker-content">
 <view class="tui-picker-name">自定义三级联动选择</view>
 <picker bindchange="changeMultiPicker3" mode = "multiSelector" value="{{multiIndex3}}" range="{{multiArray3}}">
 <view class="tui-picker-detail">
 {{multiArray3[0][multiIndex3[0]]}} * {{multiArray3[1][multiIndex3[1]]}} * {{multiArray3[2][multiIndex3[2]]}} = {{multiArray3[0][multiIndex3[0]] * multiArray3[1][multiIndex3[1]] * multiArray3[2][multiIndex3[2]]}}
 </view>
 </picker>
</view>

WXSS

page{background-color: #efeff4;}
.tui-picker-content{
 padding: 30rpx;
 text-align: center;
}
.tui-picker-name{
 height: 80rpx;
 line-height: 80rpx;
}
.tui-picker-detail{
 height: 80rpx;
 line-height: 80rpx;
 background-color: #fff;
 font-size: 35rpx;
 padding: 0 10px;
 overflow: hidden;
}

JS

Page({
 data: {
 // 普通选择器列表设置,及初始化
 countryList: ['中国','美国','英国','日本','韩国','巴西','德国'],
 countryIndex: 6,
 // 省市区三级联动初始化
 region: ["四川省", "广元市", "苍溪县"],
 // 多列选择器(二级联动)列表设置,及初始化
 multiArray: [[1, 2, 3, 4, 5, 6, 7, 8, 9], [1, 2, 3, 4, 5, 6, 7, 8, 9]],
 multiIndex: [3,5],
 // 多列选择器(三级联动)列表设置,及初始化
 multiArray3: [[1, 2, 3, 4, 5, 6, 7, 8, 9], [1, 2, 3, 4, 5, 6, 7, 8, 9], [1, 2, 3, 4, 5, 6, 7, 8, 9]],
 multiIndex3: [3, 5, 4]
 },
 // 选择国家函数
 changeCountry(e){
 this.setData({ countryIndex: e.detail.value});
 },
 // 选择省市区函数
 changeRegin(e){
 this.setData({ region: e.detail.value });
 },
 // 选择二级联动
 changeMultiPicker(e) {
 this.setData({multiIndex: e.detail.value})
 },
 // 选择三级联动
 changeMultiPicker3(e) {
 this.setData({ multiIndex3: e.detail.value })
 }
})

总结

1、由于微信小程序的picker组件只提供单独时间选择器和日期选择器,在实际开发中,我们可能需要同时选择日期和时间,组件不够全面,所以在做日期选择器时,需要注意;
2、解决日期和时间选择器结合的方法,利用多列选择器实现;
3、由于多列选择器的数据采用的是二维数组,所以不能直接实现联动效果,需要对数据判断处理。

合理的利用多列选择器,picker组件提供的其他四种选择器都能实现!

DEMO下载

为大家推荐现在关注度比较高的微信小程序教程一篇:《微信小程序开发教程》小编为大家精心整理的,希望喜欢。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
Prototype Number对象 学习
Jul 19 Javascript
jQuery弹出层始终垂直居中相对于屏幕或当前窗口
Apr 01 Javascript
JavaScript:Div层拖动效果实例代码
Aug 06 Javascript
javascript实现修改微信分享的标题内容等
Dec 11 Javascript
jQuery中:hidden选择器用法实例
Dec 30 Javascript
使用AngularJS对路由进行安全性处理的方法
Jun 18 Javascript
通过Tabs方法基于easyUI+bootstrap制作工作站
Mar 28 Javascript
详解AngularJS1.6版本中ui-router路由中/#!/的解决方法
May 22 Javascript
js脚本编写简单刷票投票系统
Jun 27 Javascript
JS选取DOM元素常见操作方法实例分析
Dec 10 Javascript
微信小程序实现带参数的分享功能(两种方法)
May 17 Javascript
Vue数据驱动表单渲染,轻松搞定form表单
Jul 19 Javascript
jquery应用实例分享_实现手风琴特效
Feb 01 #jQuery
使用JS模拟锚点跳转的实例
Feb 01 #Javascript
微信小程序实现图片预览功能
Jan 31 #Javascript
vue单页应用加百度统计代码(亲测有效)
Jan 31 #Javascript
微信小程序实现MUI数字输入框效果
Jan 31 #Javascript
微信小程序实现折叠面板
Jan 31 #Javascript
Vue中render函数的使用方法
Jan 31 #Javascript
You might like
全国FM电台频率大全 - 27 陕西省
2020/03/11 无线电
?算你??的 PHP 程式大小
2006/12/06 PHP
php使HTML标签自动补全闭合函数代码
2012/10/04 PHP
php导出excel格式数据问题
2014/03/11 PHP
php支持中文字符串分割的函数
2015/05/28 PHP
PHP Filter过滤器全面解析
2016/08/09 PHP
PHP自定义函数实现格式化秒的方法
2016/09/14 PHP
PHP实现的多进程控制demo示例
2019/07/22 PHP
基于Jquery的标签智能验证实现代码
2010/12/27 Javascript
用JS实现一个TreeMenu效果分享
2011/08/28 Javascript
基于jquery的DIV随滚动条滚动而滚动的代码
2012/07/20 Javascript
JavaScript在多浏览器下for循环的使用方法
2012/11/07 Javascript
jQuery中on()方法用法实例
2015/01/19 Javascript
EasyUI折叠表格层次显示detailview详解及实例
2016/12/28 Javascript
微信小程序之页面拦截器的示例代码
2017/09/07 Javascript
EasyUI框架 使用Ajax提交注册信息的实现代码
2017/09/27 Javascript
JS基于对象的特性实现去除数组中重复项功能详解
2017/11/17 Javascript
在create-react-app中使用css modules的示例代码
2018/07/31 Javascript
vue兄弟组件传递数据的实例
2018/09/06 Javascript
js实现input密码框显示/隐藏功能
2020/09/10 Javascript
[48:24]完美世界DOTA2联赛循环赛LBZS vs Forest 第一场 10月30日
2020/10/31 DOTA
使用python编写android截屏脚本双击运行即可
2014/07/21 Python
Python Xml文件添加字节属性的方法
2018/03/31 Python
Python实现自定义读写分离代码实例
2019/11/16 Python
tensorflow之tf.record实现存浮点数数组
2020/02/17 Python
Python定义一个函数的方法
2020/06/15 Python
html5与css3小应用
2013/04/03 HTML / CSS
中国高端鲜花第一品牌:roseonly(一生只送一人)
2017/02/12 全球购物
Pretty Little Thing爱尔兰:时尚女性服饰
2017/03/27 全球购物
硅酸盐工业控制专业应届生求职信
2013/11/02 职场文书
创建省级文明单位实施方案
2014/02/27 职场文书
《北大荒的秋天》教学反思
2014/04/14 职场文书
捐助倡议书范文
2014/04/15 职场文书
2016优秀大学生个人事迹材料范文
2016/03/01 职场文书
nodejs利用readline提示输入内容实例代码
2021/07/15 NodeJs
关于Python使用turtle库画任意图的问题
2022/04/01 Python