我正在尝试实现与本机“笔记”应用程序相同的效果。基本上,我的文字输入覆盖了屏幕的95%,底部有一个小按钮。轻按一次按钮应触发按钮的onPress事件。相反,点击只会使文本输入变得模糊,我必须再次点击按钮才能触发它的onPress事件。
我还想知道即使输入内容模糊也要强制键盘保持打开状态。
谢谢。
任何 ScrollView 都可以关闭您的键盘。如果您使用嵌套元素,请不要忘记向父滚动视图keyboardShouldPersistTaps="always"添加一个属性。并添加 blurOnSubmit={false}以使键盘在提交结束时不闪烁。
<ScrollView keyboardShouldPersistTaps="handled">
<ScrollView keyboardShouldPersistTaps="always">
<TextInput
placeholder="First field"
returnKeyType="next"
blurOnSubmit={false}
onSubmitEditing={() => {
this.textInput.focus();
}}
/>
<TxtInput
placeholder="Second"
getRef={(e) => {
this.textInput = e;
}}
returnKeyType="done"
/>
</ScrollView>
</ScrollView>
Run Code Online (Sandbox Code Playgroud)
在 RN v 0.55.3 中工作
这个问题的一些解决方法已经发布在 Github 上(我认为你也发布了这个问题)。
为了帮助遇到此问题的其他人,您可以在此处找到完整的讨论:
https://github.com/facebook/react-native/issues/4229
就我而言,问题是由<ScrollView/>包装我的输入和提交按钮引起的。
将以下属性添加到 ScrollView 中,以便我可以提交,但滚动仍然会关闭键盘。
<ScrollView
keyboardShouldPersistTaps={true}
keyboardDismissMode='on-drag'
ref = 'scrollView'
automaticallyAdjustContentInsets={false}
horizontal={false}
style={styles.scrollView}>
{pagecontent}
...
</ScrollView>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2331 次 |
| 最近记录: |