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


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 相关文章推荐
Javascript isArray 数组类型检测函数
Oct 08 Javascript
JQuery中对服务器控件 DropdownList, RadioButtonList, CheckboxList的操作总结
Jun 28 Javascript
Javascript的闭包详解
Dec 26 Javascript
JavaScript实现向OL列表内动态添加LI元素的方法
Mar 21 Javascript
详解JavaScript中的表单验证
Jun 16 Javascript
jQuery+jsp实现省市县三级联动效果(附源码)
Dec 03 Javascript
Angular.js实现多个checkbox只能选择一个的方法示例
Feb 24 Javascript
从零学习node.js之利用express搭建简易论坛(七)
Feb 25 Javascript
完美实现js选项卡切换效果(一)
Mar 08 Javascript
浅谈angularJS2中的界面跳转方法
Aug 31 Javascript
javascript 原型与原型链的理解及应用实例分析
Feb 10 Javascript
jQuery实现的上拉刷新功能组件示例
May 01 jQuery
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
利用中国天气预报接口实现简单天气预报
2014/01/20 PHP
如何让CI框架支持service层
2014/10/29 PHP
php连接odbc数据源并保存与查询数据的方法
2014/12/24 PHP
php获得网站访问统计信息类Compete API用法实例
2015/04/02 PHP
js数据验证集合、js email验证、js url验证、js长度验证、js数字验证等简单封装
2010/05/15 Javascript
防止页面被iframe(兼容IE,Firefox火狐)
2010/07/04 Javascript
javascript字符串拼接的效率问题
2010/12/25 Javascript
jquery 结合C#后台的数组对文章的关键字自动添加链接的代码
2011/07/15 Javascript
file模式访问网页时iframe高度自适应解决方案
2013/01/16 Javascript
angularJS 入门基础
2015/02/09 Javascript
JS实现横向与竖向两个选项卡Tab联动的方法
2015/09/27 Javascript
实例详解jQuery结合GridView控件的使用方法
2016/01/04 Javascript
分析js闭包引起的事件注册问题
2016/03/29 Javascript
微信小程序网络封装(简单高效)
2018/08/06 Javascript
JS基于开关思想实现的数组去重功能【案例】
2019/02/18 Javascript
如何在JavaScript中谨慎使用代码注释
2019/06/21 Javascript
微信小程序实现定位及到指定位置导航的示例代码
2019/08/20 Javascript
webpack3升级到webpack4遇到问题总结
2019/09/30 Javascript
vue 解决uglifyjs-webpack-plugin打包出现报错的问题
2020/08/04 Javascript
如何手写简易的 Vue Router
2020/10/10 Javascript
[05:08]顺网杯ISS-DOTA2赛歌 少女偶像Lunar青春演绎
2013/12/05 DOTA
[00:26]TI7不朽珍藏III——冥界亚龙不朽展示
2017/07/15 DOTA
python中的列表推导浅析
2014/04/26 Python
Python深入06——python的内存管理详解
2016/12/07 Python
python如何重载模块实例解析
2018/01/25 Python
通过shell+python实现企业微信预警
2019/03/07 Python
基于Python实现ComicReaper漫画自动爬取脚本过程解析
2019/11/11 Python
python新手学习使用库
2020/06/11 Python
Clarisonic美国官网:科莱丽声波洁面仪
2017/10/12 全球购物
视光学毕业生自荐书范文
2014/02/13 职场文书
股东协议书
2014/04/14 职场文书
吨的认识教学反思
2014/04/27 职场文书
环保倡议书100字
2014/05/15 职场文书
辞职书格式样本
2015/02/26 职场文书
2015年小班保育员工作总结
2015/05/27 职场文书
springboot为异步任务规划自定义线程池的实现
2022/06/14 Java/Android