From 58cec38eef64d74f77fd2688911dff380f1b2a24 Mon Sep 17 00:00:00 2001
From: Tevin <tingquanren@163.com>
Date: Mon, 21 Feb 2022 16:25:14 +0800
Subject: [PATCH] 优化地址三级联动组件,允许只有两级的地址,可以被选中

---
 forms/chinaArea/ChinaLocations.js |   30 +++++++++++++++++-------------
 1 files changed, 17 insertions(+), 13 deletions(-)

diff --git a/forms/chinaArea/ChinaLocations.js b/forms/chinaArea/ChinaLocations.js
index 1d53f78..32c57c1 100644
--- a/forms/chinaArea/ChinaLocations.js
+++ b/forms/chinaArea/ChinaLocations.js
@@ -51,14 +51,16 @@
         let tempLocationData = ChinaLocationData;
         regions.forEach((code) => {
             if (!code || !tempLocationData[code]) {
-                return;
-            }
-            if (typeof tempLocationData[code].name === 'string') {
-                address += tempLocationData[code].name;
+                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;
     },
@@ -74,14 +76,16 @@
         let tempLocationData = ChinaLocationData;
         regions.forEach((code) => {
             if (!code || !tempLocationData[code]) {
-                return;
-            }
-            if (typeof tempLocationData[code].name === 'string') {
-                address.push(tempLocationData[code].name);
+                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;
     },
@@ -153,5 +157,5 @@
             }
         }
         return area;
-    }
+    },
 };
\ No newline at end of file

--
Gitblit v1.9.1