diff --git a/src/components/CustomPopup/CustomPopup.tsx b/src/components/CustomPopup/CustomPopup.tsx index 002c658..2c9fcfa 100644 --- a/src/components/CustomPopup/CustomPopup.tsx +++ b/src/components/CustomPopup/CustomPopup.tsx @@ -48,7 +48,14 @@ const CustomPopup: React.FC = ({ const touchStartY = useRef(0) // 使用全局键盘状态 - const { keyboardHeight, isKeyboardVisible, addListener, initializeKeyboardListener } = useKeyboardHeight() + const { keyboardHeight, isKeyboardVisible, addListener, initializeKeyboardListener, setKeyboardVisible } = useKeyboardHeight() + + // 当弹窗显示时,设置键盘为不可见 + useEffect(() => { + if (visible) { + setKeyboardVisible(false) + } + }, [visible, setKeyboardVisible]) // 使用全局键盘状态监听 useEffect(() => { diff --git a/src/publish_pages/publishBall/components/SelectStadium/StadiumDetail.tsx b/src/publish_pages/publishBall/components/SelectStadium/StadiumDetail.tsx index f4c4b9d..75e0beb 100644 --- a/src/publish_pages/publishBall/components/SelectStadium/StadiumDetail.tsx +++ b/src/publish_pages/publishBall/components/SelectStadium/StadiumDetail.tsx @@ -72,7 +72,6 @@ const StadiumDetail = forwardRef(({ }, ref) => { const [openPicker, setOpenPicker] = useState(false); //为了解决上传图片时按钮样式问题 const [scrollTop, setScrollTop] = useState(0); - const [isTextareaFocused, setIsTextareaFocused] = useState(false); // 记录 TextareaTag 是否 focus const { getDictionaryValue } = useDictionaryActions() const court_type = getDictionaryValue('court_type') || [] const court_surface = getDictionaryValue('court_surface') || [] @@ -200,13 +199,6 @@ const StadiumDetail = forwardRef(({ } } - // 当键盘显示且 TextareaTag 当前 focus 时才触发 changeTextarea - useEffect(() => { - if (isKeyboardVisible && isTextareaFocused) { - changeTextarea(true) - } - }, [isKeyboardVisible, isTextareaFocused]) - const changePicker = (value:boolean) => { setOpenPicker(value); } @@ -272,11 +264,9 @@ const StadiumDetail = forwardRef(({ onChange={(value) => { updateFormData(item.prop, value) }} - onBlur={() => { - setIsTextareaFocused(false) - }} + // onBlur={() => { + // }} onFocus={() => { - setIsTextareaFocused(true) changeTextarea(true) }} placeholder='有其他场地信息可备注' diff --git a/src/store/keyboardStore.ts b/src/store/keyboardStore.ts index 7bf8763..322e25a 100644 --- a/src/store/keyboardStore.ts +++ b/src/store/keyboardStore.ts @@ -150,12 +150,13 @@ export const useKeyboardStore = create((set, get) => ({ // 导出便捷的 hooks export const useKeyboardHeight = () => { - const { keyboardHeight, isKeyboardVisible, addListener, initializeKeyboardListener } = useKeyboardStore() + const { keyboardHeight, isKeyboardVisible, addListener, initializeKeyboardListener, setKeyboardVisible } = useKeyboardStore() return { keyboardHeight, isKeyboardVisible, addListener, - initializeKeyboardListener + initializeKeyboardListener, + setKeyboardVisible } }