在 TextInput 获得焦点时单击 TouchableOpacity
Click TouchableOpacity while TextInput is focused
我目前正在开发 React Native 应用程序,用户可以在其中键入一些文本输入并单击“确定”进行确认。出现下一个问题。但此刻我必须双击按钮。第一次关闭键盘,第二次按下按钮。 iOS 和 android 也是一样。
我已经尝试了 keyboardShoulPersitsTaps='always'
和 handled
,但没有任何效果。
我也试着让每个视图都在滚动视图之上并添加了这个道具,但仍然没有运气......
有人可以帮忙吗?
您使用的 属性 名称不正确,keyboardShouldPersistTabs
,而不是 keyboardShouldPersistTaps
。
<ScrollView
keyboardShouldPersistTaps="handled"
>
....
</ScrollView>
您正在将 ScrollView
与 KeyboardAwareScrollView
嵌套。
您还需要在父视图上设置 keyboardShouldPersistTaps
属性。考虑您的零食中的以下代码片段。
<KeyboardAwareScrollView keyboardShouldPersistTaps='handled'>
<SafeAreaView style={styles.container}>
<ScrollView ref={scrollViewRef} onContentSizeChange={() => scrollViewRef.current.scrollToEnd({ animated: true })} keyboardShouldPersistTaps='handled'>
{steps.map(item => { return (<SingleAlgorithmStep key={item["Question"]} step={item} stepsDone={steps} clickedButtons={clickedButtons} algorithmJson={currentAlgorithmJson} actualizeSteps={(item) => updateSteps(item)} actualizeButtons={(item) => updateClickedButton(item)} />) })}
</ScrollView>
</SafeAreaView>
</KeyboardAwareScrollView>
这解决了我设备上的问题。
我目前正在开发 React Native 应用程序,用户可以在其中键入一些文本输入并单击“确定”进行确认。出现下一个问题。但此刻我必须双击按钮。第一次关闭键盘,第二次按下按钮。 iOS 和 android 也是一样。
我已经尝试了 keyboardShoulPersitsTaps='always'
和 handled
,但没有任何效果。
我也试着让每个视图都在滚动视图之上并添加了这个道具,但仍然没有运气......
有人可以帮忙吗?
您使用的 属性 名称不正确,keyboardShouldPersistTabs
,而不是 keyboardShouldPersistTaps
。
<ScrollView
keyboardShouldPersistTaps="handled"
>
....
</ScrollView>
您正在将 ScrollView
与 KeyboardAwareScrollView
嵌套。
您还需要在父视图上设置 keyboardShouldPersistTaps
属性。考虑您的零食中的以下代码片段。
<KeyboardAwareScrollView keyboardShouldPersistTaps='handled'>
<SafeAreaView style={styles.container}>
<ScrollView ref={scrollViewRef} onContentSizeChange={() => scrollViewRef.current.scrollToEnd({ animated: true })} keyboardShouldPersistTaps='handled'>
{steps.map(item => { return (<SingleAlgorithmStep key={item["Question"]} step={item} stepsDone={steps} clickedButtons={clickedButtons} algorithmJson={currentAlgorithmJson} actualizeSteps={(item) => updateSteps(item)} actualizeButtons={(item) => updateClickedButton(item)} />) })}
</ScrollView>
</SafeAreaView>
</KeyboardAwareScrollView>
这解决了我设备上的问题。