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