Est-il possible de capitaliser la première lettre du texte/chaîne de réagir natif? Comment faire?
J'ai de capitaliser la première lettre du texte que je veux afficher. J'ai cherché, mais je ne peux pas trouver clair chose à faire, aussi il n'y a pas de tels accessoires pour text
à réagir natif de la documentation officielle.
Je suis en train de montrer mon texte avec le format suivant:
<Text style={styles.title}>{item.item.title}</Text>
ou
<Text style={styles.title}>{this.state.title}</Text>
Comment puis-je le faire?
Suggestions sont les bienvenues?
Vous devez vous connecter pour publier un commentaire.
Écrire une fonction comme ceci
ensuite appeler à partir d'
<Text>
balise Par le passage du texte en paramètretextTransform: 'capitalize'
. Voir ma réponse: stackoverflow.com/a/58867901/7869175Au lieu d'utiliser une fonction, d'une façon plus propre est d'écrire cela comme une composante commune.
Où que vous soyez à l'aide de
<Text>
, le remplacer par<CapitalizedText>
Vous pouvez également utiliser le
text-transform
propriété css dans le style:"heLLo".toLowerCase()
avectextTransform: 'capitalize'
css.suffit d'utiliser javascript.
text.slice(0,1).toUpperCase() + text.slice(1, text.length)
text
tag que j'ai utilisées. puis-je appeler une fonction danstext
balise par le passage de paramètre, comme ce texte et tous les autres textes peuvent être de capitaliser à l'aide de cette fonction.<Text>{autoCapitalize(text)}
</Texte>. Bien sûr, vous pouvez le faire<Text>{this.autoCapitalize(text)}</Text>
c'est écrireTextInput ont cette poignée à l'aide de
par exemple, essayez comme ceci
Car c'est très de la fonctionnalité générale je l'ai mis dans un fichier appelé
strings.js
sous ma bibliothèque:Et il suffit d'importer dans les composants qui en ont besoin:
Réagir natif permet désormais de rendre le texte en majuscules directement avec
textTransform: 'capitalize'
. Pas de fonction nécessaire.J'ai juste ajouté une fonction prototype, basé sur @mayuresh réponse
et de l'utiliser comme ceci: