Esta es una pregunta sobre el marco Native Base para las aplicaciones React Native:

Imagine una pantalla de suscripción; 1 entrada de texto y un botón de suscripción;

Después de escribir mi dirección de correo electrónico, quiero tocar el botón de suscripción, pero mi primer toque solo cierra el teclado y necesito tocar nuevamente para presionar el botón. ¿Cómo se puede evitar esto? Mi comportamiento esperado es que el primer toque es presionar un botón. (Por lo que veo, esto es algo relacionado con el componente pero no estoy seguro).

(He comprobado este problema en la aplicación de fregadero de cocina de base nativa y el mismo problema ocurre allí también. Simplemente vaya a la sección 'Formularios y entrada' y vea 'Etiqueta fija')

3
yusuf 22 jun. 2017 a las 16:37

3 respuestas

La mejor respuesta

Pase esto como accesorio al componente de contenido.

< Content keyboardShouldPersistTaps='always'>
6
Paul Nyondo 22 jun. 2017 a las 14:32

Si usa < Content keyboardShouldPersistTaps='always'>, el teclado no desaparecerá después de seleccionar un botón o si toca fuera del campo de entrada. Para asegurarse de que el teclado desaparece si toca fuera del campo de entrada, use

< Content keyboardShouldPersistTaps='handled'>

Sin embargo, con esto, el teclado no desaparecería si selecciona un botón (a diferencia de una parte en blanco de la pantalla) a pesar de que se activará el evento onPress del botón. Para hacer que el teclado desaparezca después de presionar un botón, el controlador onPress del botón debe llamar

Keyboard.dismiss()

No olvide incluir la declaración de importación:

import { Keyboard } from 'react-native';

Para obtener más detalles, consulte https://facebook.github.io/react -native / docs / scrollview.html # keyboardshouldpersisttaps

2
Kes115 7 sep. 2017 a las 22:43

keyboardShouldPersistTaps esta propiedad ahora existe en ScrollView .

<ScrollView keyboardShouldPersistTaps="always">
     {..content or component}
</ScrollView>

Para más detalles, visite el documento oficial

https://facebook.github.io/react-native/docs/scrollview#keyboardshouldpersisttaps

0
Vipul 29 ene. 2019 a las 11:49