From ecb8fb7b09a832cd0d591182619c5b2e228ff15c Mon Sep 17 00:00:00 2001 From: Your Name Date: Wed, 21 May 2025 01:06:50 +0800 Subject: [PATCH] =?UTF-8?q?=E5=88=9B=E5=BB=BA=E8=AE=A2=E5=8D=95=E5=90=8E?= =?UTF-8?q?=E8=BF=94=E5=9B=9E?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/screens/previewOrder/PreviewAddress.tsx | 2 +- app/screens/previewOrder/perviewOrder.tsx | 26 +++++++++++++++++---- 2 files changed, 23 insertions(+), 5 deletions(-) diff --git a/app/screens/previewOrder/PreviewAddress.tsx b/app/screens/previewOrder/PreviewAddress.tsx index 5437e9d..db45a3f 100644 --- a/app/screens/previewOrder/PreviewAddress.tsx +++ b/app/screens/previewOrder/PreviewAddress.tsx @@ -259,7 +259,7 @@ export const PreviewAddress = () => { navigation.goBack()}> - + diff --git a/app/screens/previewOrder/perviewOrder.tsx b/app/screens/previewOrder/perviewOrder.tsx index 6cf9eae..ba126cb 100644 --- a/app/screens/previewOrder/perviewOrder.tsx +++ b/app/screens/previewOrder/perviewOrder.tsx @@ -10,11 +10,12 @@ import { ActivityIndicator, Platform, StatusBar, - SafeAreaView + SafeAreaView, + BackHandler } from "react-native"; import useCreateOrderStore from "../../store/createOrder"; import BackIcon from "../../components/BackIcon"; -import { useNavigation, useRoute, RouteProp } from "@react-navigation/native"; +import { useNavigation, useRoute, RouteProp, useFocusEffect } from "@react-navigation/native"; import { NativeStackNavigationProp } from "@react-navigation/native-stack"; import { useState, useEffect } from "react"; import useUserStore from "../../store/user"; @@ -32,6 +33,7 @@ type RootStackParamList = { amount: number; }; Pay: { payUrl: string }; + OrderDetails: { orderId?: number }; }; export const PreviewOrder = () => { @@ -56,6 +58,22 @@ export const PreviewOrder = () => { } }, [route.params.payMethod, user.user_id, t]); + // 处理系统返回键 + useFocusEffect( + React.useCallback(() => { + const onBackPress = () => { + // 拦截系统返回键事件,导航到OrderDetails页面 + navigation.navigate("OrderDetails", { orderId: 1 }); + return true; // 返回true表示已处理返回事件 + }; + + // 添加返回键监听(Android) + BackHandler.addEventListener('hardwareBackPress', onBackPress); + + return () => BackHandler.removeEventListener('hardwareBackPress', onBackPress); + }, [navigation]) + ); + const handleSubmit = () => { if (showPhoneInput && !phoneNumber) { // Show error or alert if needed @@ -107,8 +125,8 @@ export const PreviewOrder = () => { - navigation.goBack()}> - + navigation.navigate("OrderDetails", { orderId :1})}> +