Эх сурвалжийг харах

【代码优化】修复我的页面地址列表,点击地址卡片会返回上一页的 bug

puhui999 1 жил өмнө
parent
commit
e7ba7a82e3

+ 1 - 1
pages/order/addressSelection.vue

@@ -86,7 +86,7 @@
   // 选择地址
   function onSelectAddress() {
     let emitName = 'SELECT_ADDRESS'
-    let addressPage = '/pages/user/address/list'
+    let addressPage = '/pages/user/address/list?type=select';
     if (state.value.deliveryType === 2){
       emitName = 'SELECT_PICK_UP_INFO'
       addressPage = '/pages/user/goods_details_store/index'

+ 12 - 2
pages/user/address/list.vue

@@ -39,8 +39,8 @@
 </template>
 
 <script setup>
-  import { reactive, onBeforeMount } from 'vue';
-  import { onShow } from '@dcloudio/uni-app';
+  import { onBeforeMount, reactive } from 'vue';
+  import { onShow, onLoad } from '@dcloudio/uni-app';
   import sheep from '@/sheep';
   import { isEmpty } from 'lodash-es';
   import AreaApi from '@/sheep/api/system/area';
@@ -49,10 +49,14 @@
   const state = reactive({
     list: [], // 地址列表
     loading: true,
+    openType: '', // 页面打开类型
   });
 
   // 选择收货地址
   const onSelect = (addressInfo) => {
+    if (state.openType !== 'select'){ // 不作为选择组件时阻断操作
+      return
+    }
     uni.$emit('SELECT_ADDRESS', {
       addressInfo,
     });
@@ -110,6 +114,12 @@
     // #endif
   }
 
+  onLoad((option) => {
+    if (option.type) {
+      state.openType = option.type;
+    }
+  });
+
   onShow(async () => {
     state.list = (await AddressApi.getAddressList()).data;
     state.loading = false;