Browse Source

fix(address): modify transform data

suzigang 4 years ago
parent
commit
c00fc7f617

+ 15 - 7
src/packages/__VUE/address/index.taro.vue

@@ -422,13 +422,14 @@ export default create({
     const selectedExist = (item: RegionData) => {
     const selectedExist = (item: RegionData) => {
       const copyExistAdd = props.existAddress as AddressList[];
       const copyExistAdd = props.existAddress as AddressList[];
       let prevExistAdd = {};
       let prevExistAdd = {};
-
-      copyExistAdd.forEach((list, index) => {
-        if (list && (list as AddressList).selectedAddress) {
-          prevExistAdd = list;
-        }
-        (list as AddressList).selectedAddress = false;
-      });
+      if (copyExistAdd != null) {
+        copyExistAdd.forEach((list, index) => {
+          if (list && (list as AddressList).selectedAddress) {
+            prevExistAdd = list;
+          }
+          (list as AddressList).selectedAddress = false;
+        });
+      }
 
 
       item.selectedAddress = true;
       item.selectedAddress = true;
 
 
@@ -620,6 +621,13 @@ export default create({
       }
       }
     );
     );
 
 
+    watch(
+      () => props.type,
+      (value) => {
+        privateType.value = value;
+      }
+    );
+
     return {
     return {
       classes,
       classes,
       showPopup,
       showPopup,

+ 15 - 6
src/packages/__VUE/address/index.vue

@@ -392,12 +392,14 @@ export default create({
       const copyExistAdd = props.existAddress as AddressList[];
       const copyExistAdd = props.existAddress as AddressList[];
       let prevExistAdd = {};
       let prevExistAdd = {};
 
 
-      copyExistAdd.forEach((list, index) => {
-        if (list && (list as AddressList).selectedAddress) {
-          prevExistAdd = list;
-        }
-        (list as AddressList).selectedAddress = false;
-      });
+      if (copyExistAdd != null) {
+        copyExistAdd.forEach((list, index) => {
+          if (list && (list as AddressList).selectedAddress) {
+            prevExistAdd = list;
+          }
+          (list as AddressList).selectedAddress = false;
+        });
+      }
 
 
       item.selectedAddress = true;
       item.selectedAddress = true;
 
 
@@ -589,6 +591,13 @@ export default create({
       }
       }
     );
     );
 
 
+    watch(
+      () => props.type,
+      (value) => {
+        privateType.value = value;
+      }
+    );
+
     return {
     return {
       showPopup,
       showPopup,
       privateType,
       privateType,

+ 3 - 1
src/packages/__VUE/address/transformData.ts

@@ -14,7 +14,9 @@ export const transformData = (regionData: any[]) => {
 
 
   regionData = regionData.map((item: any) => {
   regionData = regionData.map((item: any) => {
     if (!item.name) return new Error('the data must includes `name` props');
     if (!item.name) return new Error('the data must includes `name` props');
-    let code = pinyin(item.name);
+    let code = pinyin(item.name, {
+      style: pinyin.STYLE_NORMAL
+    });
     return {
     return {
       ...item,
       ...item,
       firstCode: code[0][0].charAt(0).toUpperCase()
       firstCode: code[0][0].charAt(0).toUpperCase()

+ 1 - 0
src/sites/mobile-taro/vue/src/business/pages/address/index.vue

@@ -124,6 +124,7 @@ export default {
   setup() {
   setup() {
     const address = reactive({
     const address = reactive({
       province: [
       province: [
+        { id: 10, name: '安徽' },
         { id: 1, name: '北京' },
         { id: 1, name: '北京' },
         { id: 2, name: '广西' },
         { id: 2, name: '广西' },
         { id: 3, name: '江西' },
         { id: 3, name: '江西' },