3
votes

comment configurer Onpress On Textinput en react-native

Je développe une application sur React native. Je veux appeler un sélecteur de date lorsque j'appuie sur une entrée de texte et après avoir sélectionné une date, elle doit apparaître sur l'entrée de texte


3 commentaires

Je ne suis pas sûr de comprendre, si l'utilisateur ne peut pas saisir de texte dans la saisie de texte, pourquoi ne pas utiliser un bouton?


c'est un cas particulier


utilisez-vous un tiers pour ouvrir DatePicker? @StvNewsKaipamangalam


3 Réponses :


0
votes

Ce que vous devez faire est d'utiliser onFocus et onBlur de TextInput.

<TextInput 
    onFocus={this.onFocus}
    onBlur={this.onBlur}
/>

onFocus = () => {
 // Open date picker
}

onBlur = () => {
 // Close date picker and add value to textinput
}


0 commentaires

5
votes

Vous ne pouvez pas appeler explicitement onPress pour TextInput . Vous ne pouvez utiliser que. onFocus qui sera appelé lorsque vous appuyez sur la zone de saisie pour placer le curseur là-bas. Pas besoin de vous concentrer sur onBlur car votre cas d'utilisation n'est pas nécessaire. . Manipulez à proximité dans onFocus si possible.

onFocus = () => {
  // do something
}

render() {
  <TextInput onFocus={onFocus} />
}


0 commentaires

3
votes

Enveloppez TextInput dans une vue et définissez pointerEvents sur none . Vous pouvez maintenant utiliser le composant Pressable react-native pour écouter l'événement onpress .

<Pressable onPress={() => alert('Hi!')}>
 <View pointerEvents="none">
  <TextInput />
 </View>
</Pressable>


0 commentaires