修复切换城市挡住的问题
This commit is contained in:
@@ -75,6 +75,7 @@ const ListPage = () => {
|
||||
const [guideBarZIndex, setGuideBarZIndex] = useState<'low' | 'high'>('high');
|
||||
const [isPublishMenuVisible, setIsPublishMenuVisible] = useState(false);
|
||||
const [isDistanceFilterVisible, setIsDistanceFilterVisible] = useState(false);
|
||||
const [isCityPickerVisible, setIsCityPickerVisible] = useState(false);
|
||||
|
||||
// 处理 PublishMenu 显示/隐藏
|
||||
const handlePublishMenuVisibleChange = useCallback((visible: boolean) => {
|
||||
@@ -86,19 +87,24 @@ const ListPage = () => {
|
||||
setIsDistanceFilterVisible(visible);
|
||||
}, []);
|
||||
|
||||
// 监听筛选相关组件和发布菜单的状态,动态调整 GuideBar 的 z-index
|
||||
// 处理 CityPicker 显示/隐藏
|
||||
const handleCityPickerVisibleChange = useCallback((visible: boolean) => {
|
||||
setIsCityPickerVisible(visible);
|
||||
}, []);
|
||||
|
||||
// 监听所有弹窗和菜单的状态,动态调整 GuideBar 的 z-index
|
||||
useEffect(() => {
|
||||
if (isPublishMenuVisible) {
|
||||
// PublishMenu 展开时,GuideBar 保持高层级
|
||||
setGuideBarZIndex('high');
|
||||
} else if (isShowFilterPopup || isDistanceFilterVisible) {
|
||||
// 任何筛选组件展开时,GuideBar 降低层级
|
||||
} else if (isShowFilterPopup || isDistanceFilterVisible || isCityPickerVisible) {
|
||||
// 任何筛选组件或选择器展开时,GuideBar 降低层级
|
||||
setGuideBarZIndex('low');
|
||||
} else {
|
||||
// 都关闭时,GuideBar 保持高层级
|
||||
setGuideBarZIndex('high');
|
||||
}
|
||||
}, [isShowFilterPopup, isPublishMenuVisible, isDistanceFilterVisible]);
|
||||
}, [isShowFilterPopup, isPublishMenuVisible, isDistanceFilterVisible, isCityPickerVisible]);
|
||||
|
||||
// ScrollView 滚动处理函数
|
||||
const handleScrollViewScroll = useCallback(
|
||||
@@ -425,6 +431,7 @@ const ListPage = () => {
|
||||
config={{
|
||||
showInput: isShowInputCustomerNavBar,
|
||||
}}
|
||||
onCityPickerVisibleChange={handleCityPickerVisibleChange}
|
||||
/>
|
||||
{area_city !== "上海" ? (
|
||||
renderCityQrcode()
|
||||
|
||||
Reference in New Issue
Block a user