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


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 相关文章推荐
基于Jquery实现表格动态分页实现代码
Jun 21 Javascript
js 字符串转化成数字的代码
Jun 29 Javascript
jQuery教程 $()包装函数来实现数组元素分页效果
Aug 13 Javascript
解决css和js的{}与smarty定界符冲突问题的两种方法
Sep 10 Javascript
angularjs学习笔记之三大模块(modal,controller,view)
Sep 26 Javascript
Bootstrap源码解读模态弹出框(11)
Dec 28 Javascript
jQuery中的siblings()是什么意思(推荐)
Dec 29 Javascript
JavaScript用JSONP跨域请求数据实例详解
Jan 06 Javascript
微信小程序 request接口的封装实例代码
Apr 26 Javascript
node跨域请求方法小结
Aug 25 Javascript
Javascript中从学习bind到实现bind的过程
Jan 05 Javascript
Js参数RSA加密传输之jsencrypt.js的使用
Feb 07 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 高级课程笔记 面向对象
2009/06/21 PHP
php使用cookie实现记住登录状态
2015/04/27 PHP
PHP之密码加密的几种方式
2015/07/29 PHP
PHP内核探索之变量
2015/12/22 PHP
php自动加载方式集合
2016/04/04 PHP
PHP实现验证码校验功能
2017/11/16 PHP
laravel框架 laravel-admin上传图片到oss的方法
2019/10/13 PHP
js改变鼠标的形状和样式的方法
2014/03/31 Javascript
jQuery里filter()函数与find()函数用法分析
2015/06/24 Javascript
jquery实现二级导航下拉菜单效果
2015/12/18 Javascript
vue 项目常用加载器及配置详解
2018/01/22 Javascript
vue-cli启动本地服务局域网不能访问的原因分析
2018/01/22 Javascript
JavaScript实现获取select下拉框中第一个值的方法
2018/02/06 Javascript
Vuex 模块化使用详解
2019/07/31 Javascript
JavaScript实现滑动门效果
2020/01/18 Javascript
[48:48]2014 DOTA2国际邀请赛中国区预选赛 SPD-GAMING VS Dream TIME
2014/05/21 DOTA
Python中的魔法方法深入理解
2014/07/09 Python
Pandas中把dataframe转成array的方法
2018/04/13 Python
python实现对指定输入的字符串逆序输出的6种方法
2018/04/26 Python
Python使用pyodbc访问数据库操作方法详解
2018/07/05 Python
用xpath获取指定标签下的所有text的实例
2019/01/02 Python
python中删除某个元素的方法解析
2019/11/05 Python
Python标准库:内置函数max(iterable, *[, key, default])说明
2020/04/25 Python
python3 使用ssh隧道连接mysql的操作
2020/12/05 Python
html5调用摄像头功能的实现代码
2018/05/07 HTML / CSS
利用三角函数在canvas上画虚线的方法
2018/01/11 HTML / CSS
详解px单位html5响应式方案
2018/03/08 HTML / CSS
屈臣氏马来西亚官网:Watsons马来西亚
2019/06/15 全球购物
如何提高SQL Server的安全性
2016/07/25 面试题
党的群众路线教育实践活动宣传方案
2014/02/23 职场文书
员工试用期考核自我鉴定
2014/04/13 职场文书
英文自荐信范文
2015/03/25 职场文书
生死抉择观后感
2015/06/09 职场文书
堂吉诃德读书笔记
2015/06/30 职场文书
2016大学生党校学习心得体会
2016/01/06 职场文书
教你怎么用Python监控愉客行车程
2021/04/29 Python