diff --git a/.workbuddy/memory/2026-07-14.md b/.workbuddy/memory/2026-07-14.md index 960047d..211465e 100644 --- a/.workbuddy/memory/2026-07-14.md +++ b/.workbuddy/memory/2026-07-14.md @@ -321,3 +321,6 @@ adapter `/list` 接口忽略分页,一次返回全部收藏;前端 `listShop ### 说明 复用订单详情页已有的取消订单逻辑(通过 `updateShopOrder` 将 `orderStatus` 改为 2)。 + +### 补充修复 +关闭订单后只刷新了当前 tab,「全部」tab 如果已加载过不会重新请求,导致看不到已取消的订单。修复:`handleCloseOrder` 成功后先 `setTabStates(prev => prev.map(s => ({ ...s, initialized: false })))` 标记所有 tab 为未初始化,再 `loadOrders(tabIndex, 1)` 刷新当前 tab,这样切到「全部」时会重新加载并显示已取消的订单。 diff --git a/src/pages/order/list.tsx b/src/pages/order/list.tsx index 1c6777c..cbf3b33 100644 --- a/src/pages/order/list.tsx +++ b/src/pages/order/list.tsx @@ -158,7 +158,9 @@ const OrderListPage: React.FC = () => { try { await updateShopOrder({ ...order, orderStatus: OrderStatus.Cancelled }) Taro.showToast({ title: '订单已关闭', icon: 'success' }) - // 刷新当前 tab + // 标记所有 tab 为未初始化,切换时会重新加载(确保「全部」等 tab 能看到最新状态) + setTabStates(prev => prev.map(s => ({ ...s, initialized: false }))) + // 立即刷新当前 tab loadOrders(tabIndex, 1) } catch (err: any) { Taro.showToast({ title: err?.message || '关闭失败', icon: 'none' })