import React, { useEffect } from "react"; import { View, Text } from "@tarojs/components"; import { useGlobalState } from "@/store/global"; import "./index.scss"; interface LocationConfirmDialogProps { visible: boolean; currentCity: string; // 缓存的城市 detectedCity: string; // 定位的城市 onConfirm: () => void; onCancel: () => void; } const LocationConfirmDialog: React.FC = ({ visible, currentCity, detectedCity, onConfirm, onCancel, }) => { const { setShowGuideBar } = useGlobalState(); // 当弹窗显示/隐藏时,控制 GuideBar useEffect(() => { console.log('[LocationConfirmDialog] visible 变化:', visible); if (visible) { console.log('[LocationConfirmDialog] 弹窗显示,隐藏 GuideBar'); setShowGuideBar(false); } else { console.log('[LocationConfirmDialog] 弹窗隐藏,显示 GuideBar'); setShowGuideBar(true); } }, [visible, setShowGuideBar]); if (!visible) return null; return ( e.stopPropagation()}> 定位显示您在{detectedCity} { e.stopPropagation(); onConfirm(); }} > 切换到{detectedCity} { e.stopPropagation(); onCancel(); }} > 继续浏览{currentCity} ); }; export default LocationConfirmDialog;