Home > WeChat Applet > Mini Program Development > Relevant introduction to the three-level linkage of provinces and municipalities in the development of small program components

Relevant introduction to the three-level linkage of provinces and municipalities in the development of small program components

巴扎黑
Release: 2017-09-12 09:28:27
Original
1864 people have browsed it

Relevant introduction to the three-level linkage of provinces and municipalities in the development of small program componentsRendering:

Relevant introduction to the three-level linkage of provinces and municipalities in the development of small program components

Relevant introduction to the three-level linkage of provinces and municipalities in the development of small program components##Source code

  • 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]}}"/>
    Copy after login
  • index.js

      var city = require("../../utils/city.js");
    Page({
        data: {},
        onLoad: function() {
            console.log(&#39;onLoad...&#39;);
            var that = this;
            city.init(that);
        }
    });
    Copy after login
  • 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>
    Copy after login
    ##city.js
  • var city = {
        province: [&#39;-请选择-&#39;, &#39;福建省&#39;],
        city: {
            &#39;-请选择-&#39;: [&#39;-请选择-&#39;],
            &#39;福建省&#39;: [&#39;福州市&#39;, &#39;厦门市&#39;, &#39;泉州市&#39;]
        },
        district: {
            &#39;-请选择-&#39;: [&#39;-请选择-&#39;],
            &#39;福州市&#39;: [&#39;鼓楼区&#39;, &#39;台江区&#39;],
            &#39;厦门市&#39;: [&#39;湖里区&#39;, &#39;集美区&#39;],
            &#39;泉州市&#39;: [&#39;晋江市&#39;, &#39;安溪县&#39;]
        },
        provinceIndex: 0,
        cityIndex: 0,
        districtIndex: 0,
        selectedProvince: &#39;-请选择-&#39;,
        selectedCity: &#39;-请选择-&#39;,
        selectedDistrct: &#39;-请选择-&#39;
    };
    function init(that) {
        that.setData({
            &#39;city&#39;: city
        });
        var bindProvinceChange = function(e) {
            var city = that.data.city;
            that.setData({
                &#39;city.provinceIndex&#39;: e.detail.value,
                &#39;city.selectedProvince&#39;: city.province[e.detail.value],
                &#39;city.selectedCity&#39;: city.city[city.province[e.detail.value]][0],
                &#39;city.selectedDistrct&#39;: city.district[city.city[city.province[e.detail.value]][0]][0],
                &#39;city.cityIndex&#39;: 0,
                &#39;city.districtIndex&#39;: 0
            });
        };
        var bindCityChange = function(e) {
            var city = that.data.city;
            that.setData({
                &#39;city.cityIndex&#39;: e.detail.value,
                &#39;city.selectedCity&#39;: city.city[city.selectedProvince][e.detail.value],
                &#39;city.districtIndex&#39;: 0,
                &#39;city.selectedDistrct&#39;: city.district[city.city[city.selectedProvince][e.detail.value]][0]
            });
        };
        var bindDistrictChange = function(e) {
            var city = that.data.city;
            that.setData({
                &#39;city.districtIndex&#39;: e.detail.value,
                &#39;city.selectedDistrct&#39;: city.district[city.selectedCity][e.detail.value]
            });
        };
        that[&#39;bindProvinceChange&#39;] = bindProvinceChange;
        that[&#39;bindCityChange&#39;] = bindCityChange;
        that[&#39;bindDistrictChange&#39;] = bindDistrictChange;
    }
    module.exports = {
        init: init
    }
    Copy after login

The above is the detailed content of Relevant introduction to the three-level linkage of provinces and municipalities in the development of small program components. For more information, please follow other related articles on the PHP Chinese website!

Related labels:
source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template