【问题标题】:i need to give two clicks when the keyboard is open -- React native我需要在键盘打开时单击两次——React native
【发布时间】:2020-04-24 11:43:06
【问题描述】:

我有一个 react native 的项目,我创建了一个视图,它有一个按钮,当用户不打开键盘时,他只点击一下,但如果键盘打开,用户需要点击两次,因为当用户单击按钮时不起作用。它应该隐藏起来。

如果键盘是打开的,有人知道点击是如何工作的。

代码是下一个

 return (
        <ScrollView>
      <View style={LoginStyles.container_login}>
        <View style={LoginStyles.container_detail}>
          <View style={LoginStyles.container_components}>
            <View  style={LoginStyles.container_image}>
              <Image
                  style={LoginStyles.container_display_image}
                  source={logo}/>
            </View>
            <TextInput style={LoginStyles.container_user} placeholder = {labelApp.holderUser}  onChangeText={(user) => this.checkDataEmail(user)}/>
            <TextInput  secureTextEntry={true}  style={LoginStyles.container_password} placeholder = {labelApp.holderPassword} onChangeText={(password) => this.checkDataPassword(password)}/>
            <TouchableOpacity disabled={ this.state.disabled }
                              style={this.state.disabled ? LoginStyles.button_disabled: LoginStyles.button_login}
              onPress={this.handleClickBtnEnter}
            >
              <Text style={LoginStyles.text_button_login}>
                {labelApp.textButtonLogin}
              </Text>
            </TouchableOpacity>
            <Text
              style={LoginStyles.text_forgot_password}
              onPress={this.handleClickBtnEnter}
            >
              {labelApp.textForgotUser}
            </Text>
            <Text
              style={LoginStyles.text_register}
              onPress={this.handleClickBtnEnter}
            >
              {labelApp.textRegister}
            </Text>
            <View style={LoginStyles.container_image_share}>
              <Image style={LoginStyles.container_display_share}
                     source={facebook}/>
              <Image  style={LoginStyles.container_display_share}
                  source={google}/>
            </View>
            <View  style={LoginStyles.container_image}>
              <Image
                  style={LoginStyles.container_display_register}
                  source={register}/>
            </View>
          </View>
        </View>
      </View>
        </ScrollView>
    );

事件发生在 TouchableOpacity

【问题讨论】:

    标签: javascript android reactjs xcode react-native


    【解决方案1】:

    尝试将ScrollView 上的keyboardShouldPersistTaps 值设置为handled,如下所示:

     return (
            <ScrollView keyboardShouldPersistTaps='handled'>
              ...
            </ScrollView>
        );
    

    【讨论】:

    • 嗨 CampbellMG,我检查了 keyboardShouldPersistTaps ,它工作正常,但键盘没有关闭。
    • 如果您还需要隐藏键盘,可以在 onPress 函数中调用 Keyboard.dismiss()
    猜你喜欢
    • 2018-09-29
    • 1970-01-01
    • 1970-01-01
    • 2016-11-11
    • 1970-01-01
    • 2022-08-10
    • 1970-01-01
    • 2012-09-17
    • 2020-10-05
    相关资源
    最近更新 更多