Можно ли использовать первую букву текста/строки в react native? Как это сделать?

Я должен заглавной буквой первой буквы текста, который я хочу отобразить. Я искал его, но я не могу найти ясную вещь, чтобы сделать это, также нет такого реквизита для text в официальной документации react native.

Я показываю свой текст в следующем формате:

<Text style={styles.title}>{item.item.title}</Text>

или

<Text style={styles.title}>{this.state.title}</Text>

как я могу это сделать?

предложения приветствуются?

4 ответов


напишите такую функцию

Capitalize(str){
return str.charAt(0).toUpperCase() + str.slice(1);
}

тогда позвоните из <Text> тег путем передачи текста в качестве параметра

<Text>{this.Capitalize(this.state.title)} </Text>

вместо использования функции более чистый способ-написать это как общий компонент.

import React from 'react';
import { View, Text } from 'react-native';

const CapitalizedText = (props) => {
  let text = props.children.slice(0,1).toUpperCase() + props.children.slice(1, props.children.length);

  return (
      <View>
        <Text {...props}>{text}</Text>
      </View>
  );
};

export default CapitalizedText;

везде, где вы используете <Text> заменить на <CapitalizedText>


просто используйте javascript.

text.slice(0,1).toUpperCase() + text.slice(1, text.length)


TextInput имеют это для обработки с помощью

autoCapitalize enum('none', 'sentences', 'words', 'characters') 

например, попробуйте вот так

<TextInput
     placeholder=""
     placeholderTextColor='rgba(28,53,63, 1)'
     autoCapitalize = 'none'
     value ='test'
     />