From eea0c3161c092fac4c938c271d7cea5c160dbeb3 Mon Sep 17 00:00:00 2001 From: zhangjing1 Date: Mon, 16 Mar 2026 21:56:52 +0800 Subject: [PATCH] bug: --- src/components/sp-page/header.js | 12 +++++++----- src/components/sp-page/index.js | 7 +++++++ src/subpages/member/index.js | 16 +++++++++++++--- src/subpages/member/settings.jsx | 25 ++++++++++++++++++------- 4 files changed, 45 insertions(+), 15 deletions(-) diff --git a/src/components/sp-page/header.js b/src/components/sp-page/header.js index 8df3007dd..41ab8ce64 100644 --- a/src/components/sp-page/header.js +++ b/src/components/sp-page/header.js @@ -28,7 +28,8 @@ const CustomNavigationHeader = memo((props) => { nearbyText, navigationRSpace, showNavitionLeft, - statusBarBgColor + statusBarBgColor, + immersiveScrollRevealBgColor } = props const value = pageConfig @@ -44,9 +45,9 @@ const CustomNavigationHeader = memo((props) => { 'background-position': 'center', 'padding-top': `${gStatusBarHeight}px` } - // 吸顶挂件配置的 statusBarBgColor 优先用于页面顶部 header(状态栏)背景 - const headerBg = statusBarBgColor ?? value?.navigateBackgroundColor - console.log(headerBg, 'headerBg') + // 吸顶挂件 > 沉浸式滚动 50px 后显示的导航背景 > 默认导航背景 + const headerBg = + statusBarBgColor ?? immersiveScrollRevealBgColor ?? value?.navigateBackgroundColor if (headerBg) { style.backgroundColor = headerBg } @@ -65,7 +66,8 @@ const CustomNavigationHeader = memo((props) => { navigateBackgroundColor, gNavbarH, gStatusBarHeight, - statusBarBgColor + statusBarBgColor, + immersiveScrollRevealBgColor ]) const containerStyle = useCallback(() => { diff --git a/src/components/sp-page/index.js b/src/components/sp-page/index.js index 1e0c490d7..4f7e918b2 100644 --- a/src/components/sp-page/index.js +++ b/src/components/sp-page/index.js @@ -349,6 +349,13 @@ const SpPage = memo( navigationRSpace={state.navigationRSpace} showNavitionLeft={props.showNavitionLeft} statusBarBgColor={state.statusBarBgColor} + immersiveScrollRevealBgColor={ + props.immersive && + props.pageConfig?.immersiveScrollBgColor && + state.scrollTop >= 50 + ? props.pageConfig.immersiveScrollBgColor + : null + } /> )} {props.isDefault && diff --git a/src/subpages/member/index.js b/src/subpages/member/index.js index f67ea3142..2ea8ed672 100644 --- a/src/subpages/member/index.js +++ b/src/subpages/member/index.js @@ -3,7 +3,7 @@ * See LICENSE file for license details. */ import Taro, { useDidShow, useShareAppMessage, getCurrentInstance } from '@tarojs/taro' -import { useState, useEffect } from 'react' +import { useState, useEffect, useRef } from 'react' import { updateUserInfo, updateCheckChief } from '@/store/slices/user' import { WgtsContext } from '@/pages/home/wgts/wgts-context' import { platformTemplateName } from '@/utils/platform' @@ -119,6 +119,7 @@ const initialState = { function MemberIndex(props) { // console.log('===>getCurrentPages==>', getCurrentPages(), getCurrentInstance()) + const pageRef = useRef(null) const $instance = getCurrentInstance() || {} const { updateAddress } = useLocation() const { isLogin, getUserInfo, isNewUser } = useLogin({ @@ -452,7 +453,9 @@ function MemberIndex(props) { } return ( - - + { + pageRef.current?.handlePageScroll?.({ scrollTop: e.detail.scrollTop }) + }} + > { > {state.languageList.map((item, index) => ( - { - setState((draft) => { - draft.selectLang = item.key - }) - }}> + { + setState((draft) => { + draft.selectLang = item.key + }) + }} + > { + if (checked) { + setState((draft) => { + draft.selectLang = item.key + }) + } + }} > {item.name}