首页 > 解决方案 > 我需要在键盘打开时单击两次——React native

问题描述

我有一个 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

标签: javascriptandroidreactjsxcodereact-native

解决方案


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

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

推荐阅读