优化弹窗被GuideBar遮挡的问题

This commit is contained in:
2025-11-16 19:40:50 +08:00
parent 6a365be470
commit 9c10f681a6
3 changed files with 82 additions and 42 deletions

View File

@@ -10,6 +10,7 @@ import ListPageContent from "./components/ListPageContent";
import MessagePageContent from "./components/MessagePageContent";
import MyselfPageContent from "./components/MyselfPageContent";
import "./index.scss";
import FamilyContext from '@/context';
type TabType = "list" | "message" | "personal";
@@ -22,6 +23,7 @@ const MainPage: React.FC = () => {
const [isFilterPopupVisible, setIsFilterPopupVisible] = useState(false);
const [isShowInputCustomerNavBar, setIsShowInputCustomerNavBar] = useState(false);
const [listPageScrollToTopTrigger, setListPageScrollToTopTrigger] = useState(0);
const [showGuideBar, setShowGuideBar] = useState(true);
const { fetchUserInfo } = useUserActions();
@@ -135,8 +137,8 @@ const MainPage: React.FC = () => {
} else if (currentTab === "message") {
// 消息页:使用 GeneralNavbar与原始消息页一致显示用户头像和标题
return (
<GeneralNavbar
title="消息"
<GeneralNavbar
title="消息"
titlePosition="left"
showBack={false}
showAvatar={true}
@@ -145,7 +147,7 @@ const MainPage: React.FC = () => {
} else if (currentTab === "personal") {
// 我的页:使用 GeneralNavbar 显示标题
return (
<GeneralNavbar
<GeneralNavbar
title=""
titlePosition="left"
showBack={false}
@@ -155,47 +157,58 @@ const MainPage: React.FC = () => {
return null;
};
const handleGrandchildTrigger = (value) => {
setShowGuideBar(!value)
}
return (
<View className="main-page">
{/* 自定义导航栏 */}
{renderCustomNavbar()}
<FamilyContext.Provider value={{ handleGrandchildTrigger }}>
<View className="main-page">
{/* 自定义导航栏 */}
{renderCustomNavbar()}
{/* 列表页内容 */}
<View
className={`tab-content ${currentTab === "list" ? "active" : ""}`}
>
<ListPageContent
onNavStateChange={handleListNavStateChange}
onScrollToTop={scrollToTop}
scrollToTopTrigger={listPageScrollToTopTrigger}
onDistanceFilterVisibleChange={handleDistanceFilterVisibleChange}
onCityPickerVisibleChange={handleCityPickerVisibleChange}
onFilterPopupVisibleChange={handleFilterPopupVisibleChange}
/>
</View>
{/* 消息页内容 */}
<View
className={`tab-content ${currentTab === "message" ? "active" : ""}`}
>
<MessagePageContent />
</View>
{/* 我的页内容 */}
<View
className={`tab-content ${currentTab === "personal" ? "active" : ""}`}
>
<MyselfPageContent />
</View>
{/* 底部导航栏 */}
{
showGuideBar ?
<GuideBar
currentPage={currentTab}
guideBarClassName={guideBarZIndex === 'low' ? 'guide-bar-low-z-index' : 'guide-bar-high-z-index'}
onTabChange={handleTabChange}
onPublishMenuVisibleChange={handlePublishMenuVisibleChange}
/> :
null
}
{/* 列表页内容 */}
<View
className={`tab-content ${currentTab === "list" ? "active" : ""}`}
>
<ListPageContent
onNavStateChange={handleListNavStateChange}
onScrollToTop={scrollToTop}
scrollToTopTrigger={listPageScrollToTopTrigger}
onDistanceFilterVisibleChange={handleDistanceFilterVisibleChange}
onCityPickerVisibleChange={handleCityPickerVisibleChange}
onFilterPopupVisibleChange={handleFilterPopupVisibleChange}
/>
</View>
{/* 消息页内容 */}
<View
className={`tab-content ${currentTab === "message" ? "active" : ""}`}
>
<MessagePageContent />
</View>
{/* 我的页内容 */}
<View
className={`tab-content ${currentTab === "personal" ? "active" : ""}`}
>
<MyselfPageContent />
</View>
{/* 底部导航栏 */}
<GuideBar
currentPage={currentTab}
guideBarClassName={guideBarZIndex === 'low' ? 'guide-bar-low-z-index' : 'guide-bar-high-z-index'}
onTabChange={handleTabChange}
onPublishMenuVisibleChange={handlePublishMenuVisibleChange}
/>
</View>
</FamilyContext.Provider>
);
};