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


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 相关文章推荐
js单独获取一个checkbox看其是否被选中
Sep 22 Javascript
jquery实现select选择框内容左右移动代码分享
Nov 21 Javascript
JavaScript中有关一个数组中最大值和最小值及它们的下表的输出的解决办法
Jul 01 Javascript
微信小程序 后台https域名绑定和免费的https证书申请详解
Nov 10 Javascript
js 调用百度分享功能
Feb 27 Javascript
微信小程序使用slider设置数据值及switch开关组件功能【附源码下载】
Dec 09 Javascript
浅谈React中的元素、组件、实例和节点
Feb 27 Javascript
VuePress 静态网站生成方法步骤
Feb 14 Javascript
基于vue实现一个禅道主页拖拽效果
May 27 Javascript
Vue3为什么这么快
Sep 23 Javascript
微信小程序 接入腾讯地图的两种写法
Jan 12 Javascript
React Hook用法示例详解(6个常见hook)
Apr 28 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
linux下使用ThinkPHP需要注意大小写导致的问题
2011/08/02 PHP
PHP的异常处理类Exception的使用及说明
2012/06/13 PHP
基于PHP编程注意事项的小结
2013/04/27 PHP
php防止SQL注入详解及防范
2013/11/12 PHP
PHP中number_format()函数的用法讲解
2019/04/08 PHP
Riot.js 快速的JavaScript单元测试框架
2009/11/09 Javascript
mysql输出数据赋给js变量报unterminated string literal错误原因
2010/05/22 Javascript
autoIMG 基于jquery的图片自适应插件代码
2011/03/12 Javascript
JS 各种网页尺寸判断实例方法
2013/04/18 Javascript
jQuery实现鼠标经过提示信息的地图热点效果
2015/04/26 Javascript
JavaScript常用数组算法小结
2016/02/13 Javascript
JavaScript DOM节点操作实例小结(新建,删除HTML元素)
2017/01/19 Javascript
Javascript中字符串和数字的操作方法整理
2017/01/22 Javascript
JavaScript实现的贝塞尔曲线算法简单示例
2018/01/30 Javascript
微信小程序wx.uploadfile 本地文件转base64的实现代码
2018/06/28 Javascript
vue element-ui中table合计指定列求和实例
2020/11/02 Javascript
跟老齐学Python之总结参数的传递
2014/10/10 Python
python实现删除文件与目录的方法
2014/11/10 Python
SQLite3中文编码 Python的实现
2017/01/11 Python
Python实现动态图解析、合成与倒放
2018/01/18 Python
python分块读取大数据,避免内存不足的方法
2018/12/10 Python
python3实现指定目录下文件sha256及文件大小统计
2019/02/25 Python
django 微信网页授权登陆的实现
2019/07/30 Python
Python操作远程服务器 paramiko模块详细介绍
2019/08/07 Python
Python + Requests + Unittest接口自动化测试实例分析
2019/12/12 Python
Max&Co官网:意大利年轻女性时尚品牌
2017/05/16 全球购物
Paul Smith英国官网:英国国宝级时装品牌
2019/03/21 全球购物
Mountain Warehouse波兰官方网站:英国户外品牌
2019/08/29 全球购物
意大利在线眼镜精品店:Ottica Lipari
2019/11/11 全球购物
应届生.NET方向面试题
2015/05/23 面试题
医校毕业生自我鉴定
2014/01/25 职场文书
六年级小学生评语
2014/12/26 职场文书
交通事故案件代理词
2015/05/23 职场文书
婚宴祝酒词大全
2015/08/10 职场文书
学习经验交流会策划书
2015/11/02 职场文书
微信告警的zabbix监控系统 监控整个NGINX集群
2022/04/18 Servers