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


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写的操作系统
Apr 23 Javascript
Javascript基础教程之if条件语句
Jan 18 Javascript
DOM基础教程之使用DOM控制表格
Jan 20 Javascript
js获取当前日期时间及其它日期操作汇总
Mar 08 Javascript
深入理解逻辑表达式的用法 与或非的用法
Jun 06 Javascript
canvas 绘制圆形时钟
Feb 22 Javascript
VUE实现日历组件功能
Mar 13 Javascript
javascript图片预览和上传(兼容IE)
Mar 15 Javascript
JavaScript实现的斑马线表格效果【隔行变色】
Sep 18 Javascript
浅谈Vue服务端渲染框架Nuxt的那些事
Dec 21 Javascript
JsonProperty 的使用方法详解
Oct 11 Javascript
iview实现动态表单和自定义验证时间段重叠
Jan 10 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
PHP入门教程之数学运算技巧总结
2016/09/11 PHP
PHP读取Excel内的图片(phpspreadsheet和PHPExcel扩展库)
2019/11/19 PHP
jQuery学习笔记之jQuery的动画
2010/12/22 Javascript
Enter转换为Tab的小例子(兼容IE,Firefox)
2013/11/14 Javascript
jQuery实现的超酷苹果风格图标滑出菜单效果代码
2015/09/16 Javascript
js实现新浪微博首页效果
2015/10/16 Javascript
javascript省市级联功能实现方法实例详解
2015/10/20 Javascript
jquery实现图片上传前本地预览功能
2016/05/10 Javascript
JavaScript实现星级评分
2017/01/12 Javascript
浅谈 Vue v-model指令的实现原理
2017/06/08 Javascript
微信浏览器禁止页面下拉查看网址实例详解
2017/06/28 Javascript
基于JavaScript实现无缝滚动效果
2017/07/21 Javascript
node vue项目开发之前后端分离实战记录
2017/12/13 Javascript
Vue.js 动态为img的src赋值方法
2018/03/14 Javascript
基于Vue实现图片在指定区域内移动的思路详解
2018/11/11 Javascript
vuedraggable+element ui实现页面控件拖拽排序效果
2020/07/29 Javascript
微信小程序配置服务器提示验证token失败的解决方法
2019/04/03 Javascript
webpack4 optimization使用总结
2019/11/10 Javascript
React 实现车牌键盘的示例代码
2019/12/20 Javascript
JS数组方法push()、pop()用法实例分析
2020/01/18 Javascript
python3+PyQt5自定义视图详解
2018/04/24 Python
python的常用模块之collections模块详解
2018/12/06 Python
Django使用uwsgi部署时的配置以及django日志文件的处理方法
2019/08/30 Python
python tkinter canvas使用实例
2019/11/04 Python
PyQt5 closeEvent关闭事件退出提示框原理解析
2020/01/08 Python
Python面向对象特殊属性及方法解析
2020/09/16 Python
Boutique 1美国:阿联酋奢侈时尚零售商
2017/10/16 全球购物
介绍一下RMI的基本概念
2016/12/17 面试题
幼儿教师自我鉴定
2013/11/02 职场文书
培训专员岗位职责
2014/02/26 职场文书
表彰会主持词
2014/03/26 职场文书
技术负责人任命书
2014/06/05 职场文书
离婚协议书样本
2015/01/26 职场文书
2016年清明节网上祭英烈活动总结
2016/04/01 职场文书
Redis 哨兵机制及配置实现
2022/03/25 Redis
Python如何快速找到多个字典中的公共键(key)
2022/04/29 Python