当前位置: 首页 > 知识库问答 >
问题:

React native IOS,当TextInput被聚焦时,按钮按下不注册

葛学民
2023-03-14

在react-native中,我有一个TextInput元素,当您单击它时,键盘会按需要弹出。然而,问题是,我有一个箭头按钮,当您将输入输入到TextInput中时,您可以单击该按钮,但第一次触摸该按钮或其他任何地方时,总是只删除键盘,而不会在箭头按钮上运行onPress功能。我如何使它,当我输入了我的文本,并仍然有键盘向上。下一次按下既可以移除键盘,又可以在按钮上执行onPress功能。现在用户必须双按。一次是移除键盘,第二次是执行onPress的函数。

    <View style={{flex: 1,backgroundColor: "#b70f42", justifyContent: "center", alignItems: "center"}}>
    <View style={{position: "relative"}}>

        <TextInput
                      style={{color: "#FFF", borderBottomColor: "#FFF", borderBottomWidth: 1,fontSize:30,padding: 0, paddingRight: 50,height: 40,width: this.state.width*3/4,shadowOffset: { width: 0, height: 0 }, shadowColor: 'black', shadowOpacity: 0.5, shadowRadius: 5}}
                      onChangeText={(passwordInput) => this.showArrow(passwordInput)}
                      value={this.state.passwordInput}
                      placeholder="Vart ska du?"
                      placeholderTextColor="#FFF"
          />
          <Text style={{marginLeft: 175,color:"#FFF"}}>Powered by IBM</Text>
          <TouchableHighlight underlayColor="rgba(255,255,255,0)" style={{position: "absolute", top: 0, right: 5,}} onPress={() => this.onSearchButtonClick()}>
          <Animated.Image 
            source={require("../../img/right-arrow.png")}
            style={{width:40, height: 40,opacity: this.state.arrowOpacity}}>

          </Animated.Image>
          </TouchableHighlight>
        </View>
    </View> 

共有1个答案

东方嘉木
2023-03-14

如果将视图包装在滚动视图中,则可以。ScrollView有一个名为KeyboardShouldPersistTaps的属性。

keyboardShouldPersistTaps确定敲击后键盘何时保持可见。

“Never”(默认值),当键盘打开时,敲击聚焦文本输入的外部,将取消键盘。当这种情况发生时,孩子们不会收到水龙头。

<ScrollView keyboardShouldPersistTaps='handled' >
  //Other Components

  <Button onPress={() => {
    Keyboard.dismiss();
    //Your logic
  }}/>

</ScrollView>

希望这能有所帮助。

 类似资料:
  • 我知道以前可能有人问过这个问题,但我似乎找不到适合我情况的合理答案。 我有一个表单,表单中有多个提交按钮,我需要知道按下了哪个按钮。 表单内部的一个小代码段可能如下所示: fmt:消息部分只是考虑了客户端的语言并将单词放在按钮上。 到目前为止,我在submit按钮上添加了一个动作处理程序,并在表单上添加了一个隐藏的input元素,告诉我哪个按钮被按下了,但是我需要在不依赖javascript的情况

  • 好的,我有一个包含PDF文件数组的解析数据库,这些文件显示在我的表视图中。当用户选择一个文件时,他会被带到所选PDF的详细视图,并给出一个“下载”选项按钮。我使用相同的数组在表视图的segue上携带信息。下面是代码的样子。 我想编程这个按钮,以启动下载到个人设备,如果任何人可以帮助我。

  • 如果我按下呼叫按钮,我会得到一个错误,即出租车没有呼叫,而是转到另一个窗口。 我认为这个错误来自实时数据库。如果你有不同的意见,写下你的答案。 错误:E/AndroidRuntime:致命异常:主进程:com。实例乌兹别克斯坦,PID:8915爪哇。lang.NullPointerException:尝试调用虚拟方法“double android”。地方地方getLatitude()'位于com上

  • 我以编程方式生成了许多按钮(一些按钮用于增加值,而另一些按钮用于减少值),当它们调整的值达到最大值或最小值时,我会禁用这些按钮。(即,当达到最大值时,“增加”按钮被禁用,而当达到最小值时,“减少”按钮被禁用。)除了禁用,我还将按钮状态设置为“按下”,以直观地指示已达到极限值,并且按钮不再工作。 我的按钮onClickListener的'增加'按钮看起来像这样: ClickListeners上相应的

  • 但不幸的是,它无法工作。 这是我今天尝试的最后一次尝试,但没有奏效: 和样式:

  • 问题内容: 我使用此代码在iOS自定义相机App中实现了“轻按一下”功能,但无法正常工作。这是代码 问题答案: 我不知道为什么这样做,但确实如此。