
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
}以上就是小程序组件开发中的有关省市区三级联动的相关介绍的详细内容,更多请关注php中文网其它相关文章!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号