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


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的匿名函数来分析几段简单有趣的代码
Jun 29 Javascript
用jquery与css打造个性化的单选框和复选框
Oct 20 Javascript
js 鼠标移动显示图片的简单实例
Dec 25 Javascript
Javascript URI 解析介绍
Mar 15 Javascript
Javascript中数组方法汇总(推荐)
Apr 01 Javascript
Three.js学习之网格
Aug 10 Javascript
AngularJS全局scope与Isolate scope通信用法示例
Nov 22 Javascript
javascript中活灵活现的Array对象详解
Nov 30 Javascript
vue计算属性及使用详解
Apr 02 Javascript
如何从零开始手写Koa2框架
Mar 22 Javascript
Vue页面刷新记住页面状态的实现
Dec 27 Javascript
canvas 中如何实现物体的框选
Aug 05 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判断变量的函数
2012/04/24 PHP
ThinkPHP3.1新特性之动态设置自动完成和自动验证示例
2014/06/19 PHP
Yii框架防止sql注入,xss攻击与csrf攻击的方法
2016/10/18 PHP
注释PHP和html混合代码的小技巧(分享)
2016/11/03 PHP
PHP7扩展开发教程之Hello World实现方法示例
2017/08/03 PHP
PHP延迟静态绑定使用方法实例解析
2020/09/05 PHP
javascript 原型模式实现OOP的再研究
2009/04/09 Javascript
DB.ASP 用Javascript写ASP很灵活很好用很easy
2011/07/31 Javascript
jQuery下拉美化搜索表单效果代码分享
2015/08/25 Javascript
基于jquery实现简单的手风琴特效
2015/11/24 Javascript
JSON遍历方式实例总结
2015/12/07 Javascript
require简单实现单页应用程序(SPA)
2016/07/12 Javascript
jquery中用jsonp实现搜索框功能
2016/10/18 Javascript
JavaScript利用Date实现简单的倒计时实例
2017/01/12 Javascript
Angular使用Md5加密的解决方法
2017/09/16 Javascript
seajs模块压缩问题与解决方法实例分析
2017/10/10 Javascript
微信小程序之数据绑定原理解析
2019/08/14 Javascript
vue中实现上传文件给后台实例详解
2019/08/22 Javascript
Jquery实现获取子元素的方法分析
2019/08/24 jQuery
在vue+element ui框架里实现lodash的debounce防抖
2019/11/13 Javascript
vue组件库的在线主题编辑器的实现思路
2020/04/03 Javascript
vue实现抽屉弹窗效果
2020/11/15 Javascript
[02:20]DOTA2英雄基础教程 黑暗贤者
2013/12/19 DOTA
[00:31]DOTA2荣耀之路7:Miracle-空血无敌斩
2018/05/31 DOTA
python统计mysql数据量变化并调用接口告警的示例代码
2020/09/21 Python
CSS3的常见transformation图形变化用法小结
2016/05/13 HTML / CSS
Clarins娇韵诗英国官网:来自法国的天然护肤品牌
2017/04/18 全球购物
英国家喻户晓的折扣商场:TK Maxx
2017/05/26 全球购物
Tirendo比利时:在线购买轮胎
2018/10/22 全球购物
Servlet如何得到客户端机器的信息
2014/10/17 面试题
小学门卫岗位职责
2013/12/17 职场文书
三年级作文之趣事作文
2019/11/04 职场文书
刚学完怎么用Python实现定时任务,转头就跑去撩妹!
2021/06/05 Python
Vue中foreach数组与js中遍历数组的写法说明
2021/06/05 Vue.js
游戏《东方异文石:爱亚利亚黎明》正式版发布
2022/04/03 其他游戏
Redis实现主从复制方式(Master&Slave)
2022/06/21 Redis