微信小程序 ecshop地址3级联动实现实例代码
picker标签,官方给出的实例:
<view class="section"> <view class="section__title">地区选择器</view> <picker bindchange="bindPickerChange" value="{{index}}" range="{{array}}"> <view class="picker"> 当前选择:{{array[index]}} </view> </picker> </view> Page({ data: { array: ['美国', '中国', '巴西', '日本'], index: 0, }, bindPickerChange: function(e) { console.log('picker发送选择改变,携带值为', e.detail.value) this.setData({ index: e.detail.value }) }, })
wxml页面:
<view class="add-list under-line" > <view class="add-lab">收货地址</view> <view class="add-text"> <picker class="w-3" bindchange="bindPickerProvince" value="{{provinceIndex}}" range="{{province}}" > <view class="picker">{{province[provinceIndex]}}</view> </picker> <picker class="w-3" bindchange="bindPickerCity" value="{{cityIndex}}" range="{{city}}" > <view class="picker">{{city[cityIndex]}}</view> </picker> <picker class="w-3" bindchange="bindPickerDistrict" value="{{districtIndex}}" range="{{district}}" > <view class="picker">{{district[districtIndex]}}</view> </picker> </view> </view>
js页面:
var app = getApp() Page({ data:{ motto: 'jxcat', serverUrl: app.globalData.ajaxUrl, baseUrl: app.globalData.baseUrl, title: "收货地址", address_id: "", address: "", province:[], province_id: [], //后台返回的数据对应 region_id city,district 与此相同 province_name: [], //后台返回的数据对应 region_name provinceIndex: 0, //wxml页面选择的选项,从0开始 provinceId: 0, //根据wxml页面选择的选项获取到province_id: []对应的region_id city:[]. city_id: [], city_name: [], cityIndex: 0, cityId: 0, district:[], district_id: [], district_name: [], districtIndex: 0, districtId: 0, }, onLoad:function(options){ // 页面初始化 options为页面跳转所带来的参数 var that = this var get_data wx.checkSession({ success: function(){ //登录态未过期 wx.getStorage({ key: 'wcx_session', success: function(sres) { get_data = { m: 'api', c: 'user' , a: 'edit_address', wcx_session: sres.data, } if(options.act == 'edit'){ get_data = { m: 'api', c: 'user' , a: 'edit_address', id: options.id, wcx_session: sres.data, } } wx.request({ url: app.globalData.ajaxUrl, data: get_data, header: { 'content-type': 'application/json' }, success: function(res) { if(options.act == "edit"){ that.data.provinceId = res.data.consignee.province that.data.cityId = res.data.consignee.city that.data.districtid = res.data.consignee.district } for(var i=0; i<res.data.province_list.length; i++){{ that.data.province_id[i] = res.data.province_list[i].region_id //把region_id存入province_id that.data.province_name[i] = res.data.province_list[i].region_name //把region_name存入province_name if(res.data.consignee.province == res.data.province_list[i].region_id){ that.data.provinceIndex = i } }} for(var i=0; i<res.data.city_list.length; i++){{ that.data.city_id[i] = res.data.city_list[i].region_id that.data.city_name[i] = res.data.city_list[i].region_name if(res.data.consignee.city == res.data.city_list[i].region_id){ that.data.cityIndex = i } }} for(var i=0; i<res.data.district_list.length; i++){{ that.data.district_id[i] = res.data.district_list[i].region_id that.data.district_name[i] = res.data.district_list[i].region_name if(res.data.consignee.district == res.data.district_list[i].region_id){ that.data.districtIndex = i } }} that.data.address_id = options.id that.setData({ consignee: res.data.consignee, province: that.data.province_name, provinceIndex: that.data.provinceIndex, city: that.data.city_name, cityIndex: that.data.cityIndex, district: that.data.district_name, districtIndex: that.data.districtIndex }) } }) //request } }) }, fail: function(){ //登录态过期 wx.login() } }) }, bindPickerProvince: function(event){ var that = this var getId = event.detail.value //获取到wxml选择的选项对应的下标,从0开始 that.data.provinceId = that.data.province_id[getId] //根据获取到的下标获取到region_name对应的region_id wx.request({ url: app.globalData.ajaxUrl, data: { m: 'api', c: 'public' , a: 'region', rtype: 2, rparent: that.data.provinceId, }, header: { 'content-type': 'application/json' }, success: function(res){ for(var i=0; i<res.data.regions.length; i++){{ that.data.city_id[i] = res.data.regions[i].region_id that.data.city_name[i] = res.data.regions[i].region_name }} that.setData({ city: that.data.city_name, provinceIndex: getId, }) }, }) }, bindPickerCity: function(event){ var that = this var getId = event.detail.value that.data.cityId = that.data.city_id[getId] wx.request({ url: app.globalData.ajaxUrl, data: { m: 'api', c: 'public' , a: 'region', rtype: 3, rparent: that.data.cityId, }, header: { 'content-type': 'application/json' }, success: function(res){ for(var i=0; i<res.data.regions.length; i++){{ that.data.district_id[i] = res.data.regions[i].region_id that.data.district_name[i] = res.data.regions[i].region_name }} that.setData({ district: that.data.district_name, cityIndex: getId, }) }, }) }, bindPickerDistrict: function(event){ var that = this var getId = event.detail.value that.data.districtId = that.data.district_id[getId] that.setData({ districtIndex: getId, }) }, formSubmit: function(event) { var that = this wx.checkSession({ success: function(){ //登录态未过期 wx.getStorage({ key: 'wcx_session', success: function(sres) { wx.request({ url: app.globalData.ajaxUrl, data: { m: 'api', c: 'user' , a: 'add_address', address_id: that.data.address_id, province: that.data.provinceId, // wxml页面选择的地址对应的 region_id city: that.data.cityId, district: that.data.districtId, address: event.detail.value.address, consignee: event.detail.value.consignee, mobile: event.detail.value.mobile, zipcode: event.detail.value.zipcode, wcx_session: sres.data, }, header: { 'content-type': 'application/json' }, success: function(res) { console.log(res) wx.redirectTo({ url: 'address' }) } }) //request } }) }, fail: function(){ //登录态过期 wx.login() } }) }, })
感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!
广告合作:本站广告合作请联系QQ:858582 申请时备注:广告合作(否则不回)
免责声明:本站资源来自互联网收集,仅供用于学习和交流,请遵循相关法律法规,本站一切资源不代表本站立场,如有侵权、后门、不妥请联系本站删除!
免责声明:本站资源来自互联网收集,仅供用于学习和交流,请遵循相关法律法规,本站一切资源不代表本站立场,如有侵权、后门、不妥请联系本站删除!
暂无评论...
P70系列延期,华为新旗舰将在下月发布
3月20日消息,近期博主@数码闲聊站 透露,原定三月份发布的华为新旗舰P70系列延期发布,预计4月份上市。
而博主@定焦数码 爆料,华为的P70系列在定位上已经超过了Mate60,成为了重要的旗舰系列之一。它肩负着重返影像领域顶尖的使命。那么这次P70会带来哪些令人惊艳的创新呢?
根据目前爆料的消息来看,华为P70系列将推出三个版本,其中P70和P70 Pro采用了三角形的摄像头模组设计,而P70 Art则采用了与上一代P60 Art相似的不规则形状设计。这样的外观是否好看见仁见智,但辨识度绝对拉满。
更新日志
2024年11月28日
2024年11月28日
- 凤飞飞《我们的主题曲》飞跃制作[正版原抓WAV+CUE]
- 刘嘉亮《亮情歌2》[WAV+CUE][1G]
- 红馆40·谭咏麟《歌者恋歌浓情30年演唱会》3CD[低速原抓WAV+CUE][1.8G]
- 刘纬武《睡眠宝宝竖琴童谣 吉卜力工作室 白噪音安抚》[320K/MP3][193.25MB]
- 【轻音乐】曼托凡尼乐团《精选辑》2CD.1998[FLAC+CUE整轨]
- 邝美云《心中有爱》1989年香港DMIJP版1MTO东芝首版[WAV+CUE]
- 群星《情叹-发烧女声DSD》天籁女声发烧碟[WAV+CUE]
- 刘纬武《睡眠宝宝竖琴童谣 吉卜力工作室 白噪音安抚》[FLAC/分轨][748.03MB]
- 理想混蛋《Origin Sessions》[320K/MP3][37.47MB]
- 公馆青少年《我其实一点都不酷》[320K/MP3][78.78MB]
- 群星《情叹-发烧男声DSD》最值得珍藏的完美男声[WAV+CUE]
- 群星《国韵飘香·贵妃醉酒HQCD黑胶王》2CD[WAV]
- 卫兰《DAUGHTER》【低速原抓WAV+CUE】
- 公馆青少年《我其实一点都不酷》[FLAC/分轨][398.22MB]
- ZWEI《迟暮的花 (Explicit)》[320K/MP3][57.16MB]