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


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 流畅动画实现原理
Sep 08 Javascript
Javascript创建Silverlight Plugin以及自定义nonSilverlight和lowSilverlight样式
Jun 28 Javascript
Angularjs结合Bootstrap制作的一个TODO List
Aug 18 Javascript
Bootstrap字体图标无法正常显示的解决方法
Oct 08 Javascript
JS实现淡入淡出图片效果的方法分析
Dec 20 Javascript
微信小程序 实现列表项滑动显示删除按钮的功能
Apr 13 Javascript
Javascript实现基本运算器
Jul 15 Javascript
bootstrap table实现点击翻页功能 可记录上下页选中的行
Sep 28 Javascript
Vue 2.5 Level E 发布了: 新功能特性一览
Oct 24 Javascript
javascript利用键盘控制小方块的移动
Apr 20 Javascript
Vue微信公众号网页分享的示例代码
May 28 Javascript
如何vue使用el-table遍历循环表头和表体数据
Apr 26 Vue.js
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
url decode problem 解决方法
2011/12/26 PHP
php检测iis环境是否支持htaccess的方法
2014/02/18 PHP
详解php中 === 的使用
2016/10/24 PHP
使用PHP连接多种数据库的实现代码(mysql,access,sqlserver,Oracle)
2016/12/21 PHP
PHP自定义错误处理的方法分析
2018/12/19 PHP
动态加载js和css(外部文件)
2013/04/17 Javascript
jQuery使用$.each遍历json数组的简单实现方法
2016/04/18 Javascript
jQuery回到顶部的代码
2016/07/09 Javascript
javascript创建对象的3种方法
2016/11/02 Javascript
Bootstrap 3 进度条的实现
2017/02/22 Javascript
基于BootStrap的前端分页带省略号和上下页效果
2017/05/18 Javascript
探究react-native 源码的图片缓存问题
2017/08/24 Javascript
jQuery实现的弹幕效果完整实例
2017/09/06 jQuery
webpack优化的深入理解
2018/12/10 Javascript
使用post方法实现json往返传输数据的方法
2019/03/30 Javascript
Python进行数据提取的方法总结
2016/08/22 Python
Python创建字典的八种方式
2019/02/27 Python
如何使用python操作vmware
2019/07/27 Python
使用python远程操作linux过程解析
2019/12/04 Python
前后端结合实现amazeUI分页效果
2020/08/21 HTML / CSS
中东奢侈品市场:Coveti
2019/05/12 全球购物
介绍一下游标
2012/01/10 面试题
教学实习自我评价
2014/01/28 职场文书
高一新生军训方案
2014/05/12 职场文书
毕业生求职信范文
2014/06/29 职场文书
小学生清明节演讲稿
2014/09/05 职场文书
2014年教师工作总结
2014/11/10 职场文书
2015应届毕业生求职信范文
2015/03/20 职场文书
2015年七一建党节活动总结
2015/03/20 职场文书
微观世界观后感
2015/06/10 职场文书
升学宴祝酒词
2015/08/11 职场文书
公司与个人合作协议书
2016/03/19 职场文书
python实现的人脸识别打卡系统
2021/05/08 Python
新手必备之MySQL msi版本下载安装图文详细教程
2021/05/21 MySQL
Ruby处理CSV数据方法详解
2022/04/18 Ruby
mysql函数之截取字符串的实现
2022/08/14 MySQL