小程序组件开发中的有关省市区三级联动的相关介绍

互联网 17-9-12

效果图:

源码

  • index.wxml

<import src="../../templates/address-temp"/>  <template is="addressPicker"     data="{{provinceIndex:city.provinceIndex,cityIndex:city.cityIndex,districtIndex:city.districtIndex,province:city.province,     city:city.city[city.selectedProvince],district:city.district[city.selectedCity]}}"/>
  • index.js

  var city = require("../../utils/city.js");  Page({      data: {},      onLoad: function() {          console.log('onLoad...');          var that = this;          city.init(that);      }  });
  • address-temp.wxml

<?xml version="1.0" encoding="utf-8"?>    <template name="addressPicker">     <view style="display:flex;margin:0;height:100%;align-items: center;justify-content: center">       <view style="width:100%;">         <picker bindchange="bindProvinceChange" value="{{provinceIndex}}" range="{{province}}">           <view style="text-align:center;padding:10rpx;font-size:0.8rem">{{province[provinceIndex]}}</view>         </picker>       </view>        <view style="width:100%;">         <picker bindchange="bindCityChange" value="{{cityIndex}}" range="{{city}}">           <view style="text-align:center;padding:10rpx;font-size:0.8rem">{{city[cityIndex]}}</view>         </picker>       </view>        <view style="width:100%;">         <picker bindchange="bindDistrictChange" value="{{districtIndex}}" range="{{district}}">           <view style="text-align:center;padding:10rpx;font-size:0.8rem">{{district[districtIndex]}}</view>         </picker>       </view>     </view>  </template>
  • city.js

var city = {      province: ['-请选择-', '福建省'],      city: {          '-请选择-': ['-请选择-'],          '福建省': ['福州市', '厦门市', '泉州市']      },      district: {          '-请选择-': ['-请选择-'],          '福州市': ['鼓楼区', '台江区'],          '厦门市': ['湖里区', '集美区'],          '泉州市': ['晋江市', '安溪县']      },      provinceIndex: 0,      cityIndex: 0,      districtIndex: 0,      selectedProvince: '-请选择-',      selectedCity: '-请选择-',      selectedDistrct: '-请选择-'  };  function init(that) {      that.setData({          'city': city      });      var bindProvinceChange = function(e) {          var city = that.data.city;          that.setData({              'city.provinceIndex': e.detail.value,              'city.selectedProvince': city.province[e.detail.value],              'city.selectedCity': city.city[city.province[e.detail.value]][0],              'city.selectedDistrct': city.district[city.city[city.province[e.detail.value]][0]][0],              'city.cityIndex': 0,              'city.districtIndex': 0          });      };      var bindCityChange = function(e) {          var city = that.data.city;          that.setData({              'city.cityIndex': e.detail.value,              'city.selectedCity': city.city[city.selectedProvince][e.detail.value],              'city.districtIndex': 0,              'city.selectedDistrct': city.district[city.city[city.selectedProvince][e.detail.value]][0]          });      };      var bindDistrictChange = function(e) {          var city = that.data.city;          that.setData({              'city.districtIndex': e.detail.value,              'city.selectedDistrct': city.district[city.selectedCity][e.detail.value]          });      };      that['bindProvinceChange'] = bindProvinceChange;      that['bindCityChange'] = bindCityChange;      that['bindDistrictChange'] = bindDistrictChange;  }  module.exports = {      init: init  }

以上就是小程序组件开发中的有关省市区三级联动的相关介绍的详细内容,更多内容请关注技术你好其它相关文章!

来源链接:
免责声明:
1.资讯内容不构成投资建议,投资者应独立决策并自行承担风险
2.本文版权归属原作所有,仅代表作者本人观点,不代表本站的观点或立场
标签: 中的
上一篇:php获取远程图片并下载保存到本地的方法分析 下一篇:微信小程序之表单校验功能实现的实例

相关资讯