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 Réponses :
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
}
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} />
}
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>
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