欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

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

程序员文章站 2022-10-30 15:09:58
本文实例为大家分享了微信小程序三级联动选择器的具体代码,供大家参考,具体内容如下 效果图 实现原理 利用微信小程序的picker组件,其中: 1,普通选择器:...

本文实例为大家分享了微信小程序三级联动选择器的具体代码,供大家参考,具体内容如下

效果图

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

实现原理

利用微信小程序的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下载

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。