微信小程序 三级联动省市区
来源:互联网 发布:代理商授权书php源码 编辑:程序博客网 时间:2024/05/16 06:36
github连接:https://github.com/UFO0001/wechat-three-level
//index.js//获取应用实例var tcity = require("../../utils/citys.js");var app = getApp()Page({ data: { provinces: [], province: "", citys: [], city: "", countys: [], county: '', value: [0, 0, 0], values: [0, 0, 0], condition: false }, bindChange: function(e) { var val = e.detail.value var t = this.data.values; var cityData = this.data.cityData; if(val[0] != t[0]){ console.log('province'); const citys = []; const countys = []; for (let i = 0 ; i < cityData[val[0]].sub.length; i++) { citys.push(cityData[val[0]].sub[i].name) } for (let i = 0 ; i < cityData[val[0]].sub[0].sub.length; i++) { countys.push(cityData[val[0]].sub[0].sub[i].name) } this.setData({ province: this.data.provinces[val[0]], city: cityData[val[0]].sub[0].name, citys:citys, county: cityData[val[0]].sub[0].sub[0].name, countys:countys, values: val, value:[val[0],0,0] }) return; } if(val[1] != t[1]){ console.log('city'); const countys = []; for (let i = 0 ; i < cityData[val[0]].sub[val[1]].sub.length; i++) { countys.push(cityData[val[0]].sub[val[1]].sub[i].name) } this.setData({ city: this.data.citys[val[1]], county: cityData[val[0]].sub[val[1]].sub[0].name, countys:countys, values: val, value:[val[0],val[1],0] }) return; } if(val[2] != t[2]){ console.log('county'); this.setData({ county: this.data.countys[val[2]], values: val }) return; } }, open:function(){ this.setData({ condition:!this.data.condition }) }, onLoad: function () { console.log("onLoad"); var that = this; tcity.init(that); var cityData = that.data.cityData; const provinces = []; const citys = []; const countys = []; for(let i=0;i<cityData.length;i++){ provinces.push(cityData[i].name); } console.log('省份完成'); for (let i = 0 ; i < cityData[0].sub.length; i++) { citys.push(cityData[0].sub[i].name) } console.log('城市完成'); for (let i = 0 ; i < cityData[0].sub[0].sub.length; i++) { countys.push(cityData[0].sub[0].sub[i].name) } that.setData({ 'provinces': provinces, 'citys':citys, 'countys':countys, 'province':cityData[0].name, 'city':cityData[0].sub[0].name, 'county':cityData[0].sub[0].sub[0].name }) console.log('初始化完成'); }})
<!--index.wxml--><view class="container"> <view class="input"> <input placeholder="选择地址" value="{{province}}-{{city}}-{{county}}" focus="{{focus}}" bindfocus="open" /> </view></view><view wx:if="{{condition}}" class="citypicker"> <picker-view indicator-style="height: 50px;" style="width: 100%; height: 300px;" value="{{value}}" bindchange="bindChange" class="citybody"> <view class="cityheader"> <view bindtap="open" class="city-cancel">取消</view> <view bindtap="open" class="city-true">确定</view> </view> <picker-view-column> <view wx:for="{{provinces}}" wx:key="item" style="line-height: 50px;padding-left:10px;">{{item}}</view> </picker-view-column> <picker-view-column> <view wx:for="{{citys}}" wx:key="item" style="line-height: 50px;padding-left:10px;">{{item}}</view> </picker-view-column> <picker-view-column> <view wx:for="{{countys}}" wx:key="item" style="line-height: 50px;padding-left:10px;">{{item}}</view> </picker-view-column> </picker-view></view>
.input { padding-top: 450rpx; width: 100%;}.input input { width: 100%; background-color: #fff; border-bottom: 1px #d9d9d9 solid; border-top: 1px #d9d9d9 solid; padding: 20rpx 50rpx;}.citypickers{ position: fixed; height: 100%; width: 100%; min-height: 100%; background-color: #ff0;}.citybody { position: fixed; bottom: 0px;}.cityheader { position: absolute; top:0px; width: 100%; z-index: 5;}.city-cancel { float: left; margin: 20rpx; color: #828282;}.city-true { float: right; margin: 20rpx; color: #10FF10;}.section .picker { background-color: #fff; border-bottom: 2px #cccccc solid; border-top: 2px #d9d9d9 solid; padding: 20rpx;}
阅读全文
0 0
- 微信小程序-省市区三级联动
- 微信小程序 三级联动省市区
- 微信小程序实用组件:省市区三级联动
- 微信小程序-实现省市区三级联动
- 微信小程序学习:使用picker封装省市区三级联动模板
- 微信小程序实用组件:省市区三级联动demo
- js省市区三级联动
- 省市区三级联动
- 省市区三级联动
- 省市区三级异步联动
- PHP、省市区三级联动
- js省市区三级联动
- XML省市区三级联动
- 三级联动(省市区)
- jQuery省市区三级联动
- ajax省市区三级联动
- 省市区三级联动
- Android 省市区三级联动
- 排序之五:快速排序(C语言实现)
- 了解VUE的render函数
- Android Studio 设置代码页的背景图片
- 进程线程简介
- maven--私服的搭建(Nexus的使用)
- 微信小程序 三级联动省市区
- hdu5972_Regular Number_快速匹配+bitset
- python安装virtualenvwrapper报错解决办法
- 点在任意直线上的投影点
- JavaSE 异常处理
- SpringMVC返回json数据的三种方式
- usb免驱动之UVC
- dubbo学习资源
- 数据结构:队列