在键盘感知滚动视图中的 textInput 后​​按下 React-Native 按钮

Posted

技术标签:

【中文标题】在键盘感知滚动视图中的 textInput 后​​按下 React-Native 按钮【英文标题】:React-Native button press after textInput in Keyboard aware scroll view 【发布时间】:2018-05-05 22:06:39 【问题描述】:

我有一个问题,我在 KeyboardAwareScrollView 中有一个 TextInput 和一个 按钮。我希望用户输入一些文本,然后按 TouchableOpacity 制作的 按钮。这会将用户刚刚输入的文本向前发送。

问题是输入文本后,第一次尝试 TextInput 只是失去焦点。只有在下一次按下尝试时才会真正按下 按钮n。如何让按钮在第一次按下时做出反应?

我正在使用这个包https://github.com/APSL/react-native-keyboard-aware-scroll-view

我的代码如下:

import  KeyboardAwareScrollView  from 'react-native-keyboard-aware-scroll-view'

export default class App extends Component<> 
  render() 
    return (
      <KeyboardAwareScrollView>
        <TextInput
          style= width: 100, height: 50, backgroundColor: 'blue' 
        />
        <TouchableOpacity 
          style= backgroundColor: 'red', width: 50, height: 50 
        />
      </KeyboardAwareScrollView>
    );
  

【问题讨论】:

【参考方案1】:

请在 ScrollView 上使用 keyboardShouldPersistTaps='always'。下面是如何做到这一点。

<ScrollView
            keyboardShouldPersistTaps='always' >
</ScrollView>

发生这种情况是因为ScrollView 具有先关闭键盘的属性,然后它将允许对其子视图进行操作。现在我们正在用上述属性改变这种行为。

【讨论】:

为什么这会改变我是否可以按滚动视图之外的东西? 如果scrollview或scrollview子组件在上面,它会先尝试关闭键盘。 如果我的回答与您的要求不同,请务必告诉我 嘿,你回答了我的问题 :) 干杯

以上是关于在键盘感知滚动视图中的 textInput 后​​按下 React-Native 按钮的主要内容,如果未能解决你的问题,请参考以下文章

当 TextInput 有焦点时,如何从键盘后面自动滑出窗口?

NavController 中的滚动视图在显示键盘后不会重置(Swift)

TextInput中的kivy ScrollView实现

TextInput 中的每次按键后键盘都会关闭本机反应

滚动到滚动视图/滚动视图中的特定文本字段 当键盘在屏幕上时停止滚动

当焦点文本输入反应本机时,滚动视图无法滚动