去掉标题键盘上移
This commit is contained in:
@@ -75,7 +75,8 @@ const PublishBall: React.FC = () => {
|
||||
const [formData, setFormData] = useState<PublishBallFormData[]>([defaultFormData])
|
||||
const [checked, setChecked] = useState(true)
|
||||
const [titleBar, setTitleBar] = useState('发布')
|
||||
const scrollViewRef = useRef<any>(null)
|
||||
// 控制是否响应全局键盘(由具体输入框 focus/blur 控制)
|
||||
const [shouldReactToKeyboard, setShouldReactToKeyboard] = useState(false)
|
||||
|
||||
// 删除确认弹窗状态
|
||||
const [deleteConfirm, setDeleteConfirm] = useState<{
|
||||
@@ -580,7 +581,7 @@ useEffect(() => {
|
||||
// 添加本地监听器
|
||||
const removeListener = addListener((height, visible) => {
|
||||
console.log('PublishBall 收到键盘变化:', height, visible)
|
||||
|
||||
// 这里只记录或用于其他逻辑,布局是否响应交由 shouldReactToKeyboard 决定
|
||||
})
|
||||
|
||||
return () => {
|
||||
@@ -588,10 +589,18 @@ useEffect(() => {
|
||||
}
|
||||
}, [initializeKeyboardListener, addListener])
|
||||
|
||||
console.log(isKeyboardVisible, 'isKeyboardVisible');
|
||||
console.log(keyboardHeight, 'keyboardHeight');
|
||||
const handleAnyInputFocus = (item: FormFieldConfig, e: any) => {
|
||||
const { prop } = item
|
||||
if (prop === 'title') {
|
||||
return
|
||||
}
|
||||
setShouldReactToKeyboard(true)
|
||||
}
|
||||
const handleAnyInputBlur = (item: FormFieldConfig, e: any) => {
|
||||
setShouldReactToKeyboard(false)
|
||||
}
|
||||
return (
|
||||
<View className={`${styles['publish-ball-container']} ${isKeyboardVisible ? styles['publish-ball-container-keyboard'] : ''}`} style={{ bottom: isKeyboardVisible ? `${keyboardHeight - 124}px` : 0 }}>
|
||||
<View className={`${styles['publish-ball-container']} ${isKeyboardVisible && shouldReactToKeyboard ? styles['publish-ball-container-keyboard'] : ''}`} style={{ bottom: isKeyboardVisible && shouldReactToKeyboard ? `${keyboardHeight - 124}px` : 0 }}>
|
||||
<GeneralNavbar title={titleBar} backgroundColor="#FAFAFA" className={styles['publish-ball-navbar']} />
|
||||
<View className={styles['publish-ball']} style={{ paddingTop: `${statusNavbarHeightInfo.totalHeight}px` }}>
|
||||
{/* 活动类型切换 */}
|
||||
@@ -636,6 +645,8 @@ useEffect(() => {
|
||||
formData={item}
|
||||
onChange={(key, value) => updateFormData(key, value, index)}
|
||||
optionsConfig={optionsConfig}
|
||||
onAnyInputFocus={handleAnyInputFocus}
|
||||
onAnyInputBlur={handleAnyInputBlur}
|
||||
/>
|
||||
</View>
|
||||
))
|
||||
|
||||
Reference in New Issue
Block a user