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


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分页函数代码
Sep 10 Javascript
使用jQuery设置disabled属性与移除disabled属性
Aug 21 Javascript
JavaScript编程中的Promise使用大全
Jul 28 Javascript
用js读写cookie的简单方法(推荐)
Aug 08 Javascript
Javascript blur与click冲突解决办法
Jan 09 Javascript
原生JS实现网页手机音乐播放器 歌词同步播放的示例
Feb 02 Javascript
JavaScript高级函数应用之分时函数实例分析
Aug 03 Javascript
vue中node_modules中第三方模块的修改使用详解
May 31 Javascript
JavaScript Array对象基本方法详解
Sep 03 Javascript
Vue中computed及watch区别实例解析
Aug 01 Javascript
Antd下拉选择,自动匹配功能的实现
Oct 24 Javascript
原生JavaScript实现幻灯片效果
Feb 19 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模拟socket一次连接,多次发送数据的实现代码
2011/07/26 PHP
Apache下禁止php文件被直接访问的解决方案
2013/04/25 PHP
smarty内置函数{loteral}、{ldelim}和{rdelim}用法实例
2015/01/22 PHP
php使用unset()删除数组中某个单元(键)的方法
2015/02/17 PHP
PHP实现通用alert函数的方法
2015/03/11 PHP
简单解决新浪SAE无法上传文件的问题
2015/05/13 PHP
php opendir()列出目录下所有文件的实例代码
2016/10/02 PHP
Laravel基础_关于view共享数据的示例讲解
2019/10/14 PHP
JavaScript 对象、函数和继承
2009/07/07 Javascript
url 特殊字符 传递参数解决方法
2010/01/01 Javascript
jQuery控制图片的hover效果(smartRollover.js)
2012/03/18 Javascript
jQuery on()方法使用技巧详解
2015/04/16 Javascript
纯javascript判断查询日期是否为有效日期
2015/08/24 Javascript
Mongoose经常返回e11000 error的原因分析
2017/03/29 Javascript
关于jQuery中fade(),show()起始位置的一点小发现
2017/04/25 jQuery
原生JavaScript之es6中Class的用法分析
2020/02/23 Javascript
javascript前端实现多视频上传
2020/12/13 Javascript
简单了解python中的f.b.u.r函数
2019/11/02 Python
python enumerate内置函数用法总结
2020/01/07 Python
在python image 中实现安装中文字体
2020/05/16 Python
Python基于BeautifulSoup爬取京东商品信息
2020/06/01 Python
详解css3中 text-fill-color属性
2019/07/08 HTML / CSS
HTML5 Plus 实现手机APP拍照或相册选择图片上传功能
2016/07/13 HTML / CSS
HTML5资源预加载(Link prefetch)详细介绍(给你的网页加速)
2014/05/07 HTML / CSS
检测浏览器对HTML5和CSS3支持度的方法
2015/06/25 HTML / CSS
adidas美国官网:adidas US
2016/09/21 全球购物
贝玲妃英国官网:Benefit英国
2018/02/03 全球购物
初中生自我评价
2014/02/01 职场文书
幼儿园教师国培感言
2014/02/02 职场文书
法律七进实施方案
2014/03/15 职场文书
开展批评与自我批评心得体会
2014/10/17 职场文书
2014年财务人员工作总结
2014/11/11 职场文书
感恩节寄语2015
2015/03/24 职场文书
2015学校师德师风工作总结
2015/04/22 职场文书
礼貌问候语大全
2015/11/10 职场文书
总结Python连接CS2000的详细步骤
2021/06/23 Python