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


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 控制小数位数的实现代码
Aug 02 Javascript
圣诞节Merry Christmas给博客添加浪漫的下雪效果基于jquery实现
Dec 27 Javascript
非html5实现js版弹球游戏示例代码
Sep 22 Javascript
如何减少浏览器的reflow和repaint
Feb 26 Javascript
理解javascript封装
Feb 23 Javascript
jQuery UI Bootstrap是什么?
Jun 17 Javascript
js实现弹出框的拖拽效果实例代码详解
Apr 16 Javascript
微信小程序防止多次点击跳转(函数节流)
Sep 19 Javascript
一篇文章带你浅入webpack的DLL优化打包
Feb 20 Javascript
JQuery表单元素取值赋值方法总结
May 12 jQuery
vue 项目引入echarts 添加点击事件操作
Sep 09 Javascript
如何在vue中使用kindeditor富文本编辑器
Dec 19 Vue.js
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
PHP6 先修班 JSON实例代码
2008/08/23 PHP
PHP资源管理框架Assetic简介
2014/06/12 PHP
浅谈Laravel队列实现原理解决问题记录
2017/08/19 PHP
基于ThinkPHP5框架使用QueryList爬取并存入mysql数据库操作示例
2019/05/25 PHP
javascript中获取选中对象的类型
2007/04/02 Javascript
jquery 分页控件实现代码
2009/11/30 Javascript
Jquery 1.42 checkbox 全选和反选代码
2010/03/27 Javascript
JavaScript面向对象(极简主义法minimalist approach)
2012/07/17 Javascript
jquery实现submit提交表单
2015/02/03 Javascript
js实现支持手机滑动切换的轮播图片效果实例
2015/04/29 Javascript
基于jQuery实现仿51job城市选择功能实例代码
2016/03/02 Javascript
JavaScript 对象字面量讲解
2016/06/06 Javascript
jQuery实现链接的title快速出现的方法
2017/02/20 Javascript
mongoose中利用populate处理嵌套的方法
2017/05/26 Javascript
在Vue项目中引入腾讯验证码服务的教程
2018/04/03 Javascript
jQuery实现DIV响应鼠标滑过由下向上展开效果示例【测试可用】
2018/04/26 jQuery
工作中常用到的ES6语法
2018/09/04 Javascript
vue微信分享到朋友圈 vue微信发送给好友
2018/11/28 Javascript
微信小程序new Date()方法失效问题解决方法
2019/07/29 Javascript
react quill中图片上传由默认转成base64改成上传到服务器的方法
2019/10/30 Javascript
JS实现网站楼层导航效果代码实例
2020/06/16 Javascript
JS删除对象中某一属性案例详解
2020/09/08 Javascript
JavaScript实现滚动加载更多
2020/12/27 Javascript
整理Python 常用string函数(收藏)
2016/05/30 Python
python之cv2与图像的载入、显示和保存实例
2018/12/05 Python
python GUI库图形界面开发之PyQt5美化窗体与控件(异形窗体)实例
2020/02/25 Python
python根据用户需求输入想爬取的内容及页数爬取图片方法详解
2020/08/03 Python
车库门开启器、遥控器和零件:Chamberlain
2019/04/09 全球购物
工程造价专业大学生职业生涯规划书
2014/01/18 职场文书
农贸市场管理制度
2014/01/31 职场文书
银行职员个人的工作自我评价
2014/02/15 职场文书
人力资源管理专业求职信
2014/07/23 职场文书
2014年班组工作总结
2014/11/20 职场文书
任命书标准格式
2015/03/02 职场文书
初中班级口号霸气押韵
2015/12/24 职场文书
优胜劣汰,强者为王——读《鲁滨逊漂流记》有感
2019/08/15 职场文书