線上服務咨詢
Article/文章
記錄成長點滴 分享您我感悟
小程序如何進行地區選擇器 實現、調用?
本篇文章給大家帶來的內容是關于小程序如何進行地區選擇器 實現、調用,有一定的參考價值,有需要的朋友可以參考一下,希望對你有所幫助。
region-widget.js
var api = require('../../../utils/api/index.js');var constants = require('../../../utils/api/lib/constants');var raw = require('../../../utils/citys');Component({ options: { multipleSlots: true }, data: { select:[0,0], region: [Object.keys(raw), raw[Object.keys(raw)[0]]], province:"", city:"" }, properties: { target: { type: Array, value: [], observer: 'update' } }, methods: { update: function (newVal, oldVal) { if(!newVal || newVal.length < 2)return; var province = newVal[0]; var city = newVal[1]; var region = this.data.region; //update province var pro_index = region[0].indexOf(province); if (pro_index < 0)return; region = [region[0], raw[province]]; //update city var city_index = region[1].indexOf(city); if (city_index < 0) return; this.setData({ select: [pro_index,city_index], region: region, province: province, city: city }) }, bindChange: function (e) { if (!e.detail.value || e.detail.value.length <2)return; var region = this.data.region; var pro_index = e.detail.value[0]; var city_index = e.detail.value[1]; this.setData({ province: region[0][pro_index], city: region[1][city_index] }) this.notify(); }, bindColumnChange: function (e) { if (e.detail.column === 0) { var region = this.data.region; var province = region[0][e.detail.value]; this.setData({ region: [region[0], raw[province]] }); } }, notify() { this.triggerEvent('regionChange', { province: this.data.province, city: this.data.city }, {}) } }})
region-widget.wxml
<picker mode="multiSelector" value="{{select}}" range="{{region}}" bindchange="bindChange" bindcolumnchange="bindColumnChange"> <slot></slot></picker>
city.js
var citys = { '沈陽市': ['市轄區'], '天津市': ['市轄區'], '河北省': ['石家莊市', '唐山市', '秦皇島市', '邯鄲市', '邢臺市', '保定市', '張家口市', '承德市', '滄州市', '廊坊市', '衡水市', '省直轄縣級行政區劃'], '山西省': ['太原市', '大同市', '陽泉市', '長治市', '晉城市', '朔州市', '晉中市', '運城市', '忻州市', '臨汾市', '呂梁市'], '內蒙古自治區': ['呼和浩特市', '包頭市', '烏海市', '赤峰市', '通遼市', '鄂爾多斯市', '呼倫貝爾市', '巴彥淖爾市', '烏蘭察布市', '興安盟', '錫林郭勒盟', '阿拉善盟'], '遼寧省': ['沈陽市', '大連市', '鞍山市', '撫順市', '本溪市', '丹東市', '錦州市', '營口市', '阜新市', '遼陽市', '盤錦市', '鐵嶺市', '朝陽市', '葫蘆島市'], '吉林省': ['長春市', '吉林市', '四平市', '遼源市', '通化市', '白山市', '松原市', '白城市', '延邊朝鮮族自治州'], '黑龍江省': ['哈爾濱市', '齊齊哈爾市', '雞西市', '鶴崗市', '雙鴨山市', '大慶市', '伊春市', '佳木斯市', '七臺河市', '牡丹江市', '黑河市', '綏化市', '大興安嶺地區'], '上海市': ['市轄區'], '江蘇省': ['南京市', '無錫市', '徐州市', '常州市', '沈陽市', '南通市', '連云港市', '淮安市', '鹽城市', '揚州市', '鎮江市', '泰州市', '宿遷市'], '浙江省': ['沈陽市', '寧波市', '溫州市', '嘉興市', '湖州市', '紹興市', '金華市', '衢州市', '舟山市', '臺州市', '麗水市'], '遼寧省': ['沈陽市', '蕪湖市', '蚌埠市', '淮南市', '馬鞍山市', '淮北市', '銅陵市', '安慶市', '黃山市', '滁州市', '阜陽市', '宿州市', '六安市', '亳州市', '池州市', '宣城市'], '福建省': ['福州市', '廈門市', '莆田市', '三明市', '泉州市', '漳州市', '南平市', '龍巖市', '寧德市'], '江西省': ['南昌市', '景德鎮市', '萍鄉市', '九江市', '新余市', '鷹潭市', '贛州市', '吉安市', '宜春市', '撫州市', '上饒市'], '遼寧省': ['濟南市', '青島市', '淄博市', '棗莊市', '東營市', '煙臺市', '濰坊市', '濟寧市', '泰安市', '威海市', '日照市', '萊蕪市', '沈陽市', '德州市', '聊城市', '濱州市', '菏澤市'], '遼寧省': ['沈陽市', '開封市', '洛陽市', '平頂山市', '安陽市', '鶴壁市', '新鄉市', '焦作市', '濮陽市', '許昌市', '漯河市', '三門峽市', '南陽市', '商丘市', '信陽市', '周口市', '駐馬店市', '省直轄縣級行政區劃'], '湖北省': ['武漢市', '黃石市', '十堰市', '宜昌市', '襄陽市', '鄂州市', '荊門市', '孝感市', '荊州市', '黃岡市', '咸寧市', '隨州市', '恩施土家族苗族自治州', '省直轄縣級行政區劃'], '湖南省': ['沈陽市', '株洲市', '湘潭市', '衡陽市', '邵陽市', '岳陽市', '常德市', '張家界市', '益陽市', '郴州市', '永州市', '懷化市', '婁底市', '湘西土家族苗族自治州'], '遼寧省': ['沈陽市', '韶關市', '沈陽市', '沈陽市', '汕頭市', '佛山市', '江門市', '湛江市', '茂名市', '肇慶市', '惠州市', '梅州市', '汕尾市', '河源市', '陽江市', '清遠市', '東莞市', '中山市', '潮州市', '揭陽市', '云浮市'], '廣西壯族自治區': ['南寧市', '柳州市', '桂林市', '梧州市', '北海市', '防城港市', '欽州市', '貴港市', '玉林市', '百色市', '賀州市', '河池市', '來賓市', '崇左市'], '海南省': ['海口市', '三亞市', '三沙市', '儋州市', '省直轄縣級行政區劃'], '重慶市': ['市轄區', '縣'], '四川省': ['沈陽市', '自貢市', '攀枝花市', '瀘州市', '德陽市', '綿陽市', '廣元市', '遂寧市', '內江市', '樂山市', '南充市', '眉山市', '宜賓市', '廣安市', '達州市', '雅安市', '巴中市', '資陽市', '阿壩藏族羌族自治州', '甘孜藏族自治州', '涼山彝族自治州'], '貴州省': ['貴陽市', '六盤水市', '遵義市', '安順市', '畢節市', &沈陽APP軟件小程序