You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
var area_picker = { page: null, data: null, old_value: [0, 0, 0], result: [null, null, null], init: function (args) { var picker = this; picker.page = args.page; picker.data = args.data; picker.page.showAreaPicker = function () { picker.page.setData({ area_picker_show: true, }); }; picker.page.hideAreaPicker = function () { picker.page.setData({ area_picker_show: false, }); };
var city_list = picker.data[0].list || []; var district_list = []; if (city_list.length > 0) district_list = city_list[0].list || [];
picker.page.setData({ area_picker_province_list: picker.data, area_picker_city_list: city_list, area_picker_district_list: district_list, });
picker.result[0] = picker.data[0] || null; if (picker.data[0].list) { picker.result[1] = picker.data[0].list[0]; if (picker.data[0].list[0].list) picker.result[2] = picker.data[0].list[0].list[0]; }
picker.page.areaPickerChange = function (e) { var province_index = e.detail.value[0]; var city_index = e.detail.value[1]; var district_index = e.detail.value[2]; if (e.detail.value[0] != picker.old_value[0]) {//省份改变
city_index = 0; district_index = 0; city_list = picker.data[province_index].list; district_list = city_list[0].list;
picker.page.setData({ area_picker_city_list: [], area_picker_district_list: [], }); setTimeout(function () { picker.page.setData({ area_picker_city_list: city_list, area_picker_district_list: district_list, }); }, 0);
} if (e.detail.value[1] != picker.old_value[1]) {//城市改变
district_index = 0; district_list = picker.data[province_index].list[city_index].list; picker.page.setData({ area_picker_district_list: [], }); setTimeout(function () { picker.page.setData({ area_picker_district_list: district_list, }); }, 0); } if (e.detail.value[2] != picker.old_value[2]) {//区改变
} picker.old_value = [province_index, city_index, district_index]; picker.result[0] = picker.data[province_index]; picker.result[1] = picker.data[province_index].list[city_index]; picker.result[2] = picker.data[province_index].list[city_index].list[district_index]; };
picker.page.areaPickerConfirm = function () { picker.page.hideAreaPicker(); // console.log(1);
// console.log(picker.page);
// console.log(typeof picker.page.onAreaPickerConfirm);
if (picker.page.onAreaPickerConfirm) picker.page.onAreaPickerConfirm(picker.result); }; return this; },};module.exports = area_picker;
|