From a08ff2b2fce81e6b0d81f894b4a52ff9c387ea7b Mon Sep 17 00:00:00 2001 From: Tevin <tingquanren@163.com> Date: Tue, 23 Aug 2022 17:47:12 +0800 Subject: [PATCH] 优化数值显示组件显示细节 --- forms/chinaArea/ChinaLocations.weapp.js | 37 ++++++++++++++++++++++--------------- 1 files changed, 22 insertions(+), 15 deletions(-) diff --git a/forms/chinaArea/ChinaLocations.weapp.js b/forms/chinaArea/ChinaLocations.weapp.js index 7c1986d..8a92430 100644 --- a/forms/chinaArea/ChinaLocations.weapp.js +++ b/forms/chinaArea/ChinaLocations.weapp.js @@ -4,15 +4,15 @@ */ import Taro from '@tarojs/taro'; -import { Fetcher } from '@components/bases/Fetcher'; import project from '@project'; +import { $hostBoot } from '@components/bases/HostBoot'; const locationTree = []; let ChinaLocationData = {}; let readyCallback = () => { }; Taro.request({ - url: Fetcher.host + project.host.assetsPath + '/datas/ChinaLocation.json', + url: $hostBoot.getHost() + project.host.assetsPath + '/datas/ChinaLocation.json', header: { 'X-Requested-With': 'XMLHttpRequest', 'Content-Type': 'application/x-www-form-urlencoded;charset=UTF-8', @@ -57,7 +57,7 @@ export default { onReady(callback) { - if (ChinaLocationData.length > 0) { + if (locationTree.length > 0) { callback(); } else { readyCallback = callback; @@ -74,12 +74,17 @@ let address = ''; let tempLocationData = ChinaLocationData; regions.forEach((code) => { - if (typeof tempLocationData[code].name === 'string') { - address += tempLocationData[code].name; + if (!code || !tempLocationData[code]) { + address.push(''); + tempLocationData = []; } else { - address += tempLocationData[code]; + if (typeof tempLocationData[code].name === 'string') { + address += tempLocationData[code].name; + } else { + address += tempLocationData[code]; + } + tempLocationData = tempLocationData[code].children; } - tempLocationData = tempLocationData[code].children; }); return address; }, @@ -94,15 +99,17 @@ let address = []; let tempLocationData = ChinaLocationData; regions.forEach((code) => { - if (!tempLocationData[code]) { - return; - } - if (typeof tempLocationData[code].name === 'string') { - address.push(tempLocationData[code].name); + if (!code || !tempLocationData[code]) { + address.push(''); + tempLocationData = []; } else { - address.push(tempLocationData[code]); + if (typeof tempLocationData[code].name === 'string') { + address.push(tempLocationData[code].name); + } else { + address.push(tempLocationData[code]); + } + tempLocationData = tempLocationData[code].children; } - tempLocationData = tempLocationData[code].children; }); return address; @@ -128,7 +135,7 @@ if (provinceChildren[cityCode].name === regions[1]) { codes[1] = cityCode; // 区 - const areaChildren = provinceChildren[cityCode].children; + const areaChildren = provinceChildren[cityCode].children || []; for (let areaCode in areaChildren) { if (areaChildren.hasOwnProperty(areaCode)) { if (areaChildren[areaCode] === regions[2]) { -- Gitblit v1.9.1