Je voudrais intégrer un petit texte (mon adresse e-mail) mais j'aimerais que l'utilisateur puisse copier ce texte. J'ai pensé à un bouton, lorsque nous cliquons dessus, l'adresse e-mail est copiée et peut être passée en dehors de l'application. Comment faire cela?
<View> <Text style={{color: 'red', fontSize: 14 , fontFamily:'Arial', fontStyle: 'bold', textAlign: 'center', marginTop: 3, marginLeft: 25, marginBottom: 17}}> mail@mail.com </Text></View>
Je suis novice, toute aide serait grandement appréciée.
4 Réponses :
Vous pouvez utiliser le Clipboard
de @ react-native-community .
Voici comment vous pouvez l'utiliser:
import Clipboard from '@react-native-community/clipboard'; <TouchableOpacity onPress={() => Clipboard.setString('mail@mail.com')}> <View> <Text style={{color: 'red', fontSize: 14 , fontFamily:'Arial', fontStyle: 'bold', textAlign: 'center', marginTop: 3, marginLeft: 25, marginBottom: 17}}> mail@mail.com </Text> </View> </TouchableOpacity>
merci mais j'ai une erreur, je pense que cela doit venir d'une opacité palpable?
ReferenceError: ReferenceError: Variable introuvable: TouchableOpacity
J'ai édité ma réponse, n'oubliez pas d'importer le TouchableOpacity
.
Le presse-papiers a été supprimé du core react-native et doit être installé à partir de @react-native-community/clipboard
Bienvenue dans stackoverflow! Veuillez lire https://stackoverflow.com/help/how-to-ask pour savoir comment poser de bonnes questions; le plus souvent, le processus de formulation de la question (s'il est fait correctement) vous mènera à la réponse!
Ainsi, vous avez réussi à afficher votre texte à l'écran en utilisant Text
, et vous voulez maintenant que l'utilisateur puisse le copier; Je peux imaginer trois façons de procéder:
Concentrons-nous sur le dernier. Nous pouvons le décomposer davantage:
Si nous recherchons ces phrases sur Google, nous trouvons la documentation pertinente:
... avec le morceau de code correspondant:
import { Button, Clipboard } from 'react-native' ... const email = 'hello@example.com' const copyIt = ()=> Clipboard.setString(email) ... <Button onPress={copyIt} title={email} />
fayeed a raison. Vous pouvez utiliser le presse-papiers pour que l'utilisateur copie une chaîne.
En outre, vous donnez facilement à votre composant un presse-papiers. Comme Fayeed l'a fait ci-dessus
<Text onPress={()=>Clipboard.setString('mail@mail.com')} style={{color: 'red', fontSize: 14 , fontFamily:'Arial', fontStyle: 'bold', textAlign: 'center', marginTop: 3, marginLeft: 25, marginBottom: 17}}> mail@mail.com </Text>
import { Button, Clipboard } from 'react-native'
est remplacé par react-native-community/clipboard