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

巴扎黑
Lepaskan: 2017-09-12 09:28:27
asal
1845 orang telah melayarinya

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

效果图

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

  • 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]}}"/>
Salin selepas log masuk
  • index.js

  var city = require("../../utils/city.js");
Page({
    data: {},
    onLoad: function() {
        console.log(&#39;onLoad...&#39;);
        var that = this;
        city.init(that);
    }
});
Salin selepas log masuk
  • 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>
Salin selepas log masuk
  • 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
}
Salin selepas log masuk

Atas ialah kandungan terperinci 小程序组件开发中的有关省市区三级联动的相关介绍. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan