如何在React Native的TextInput中为文本的一部分应用样式?

开价2980

当用户使用输入文本时,我想给文本加上颜色TextInput例如,当一个单词以@开头时,我想用红色为整个单词涂上颜色。可能吗?

拉斐尔默克斯

您实际上可以通过将Text元素嵌套在中来实现TextInput

<TextInput onChangeText={this.handleCheckTextChange}>
  <Text>{this.state.formattedText}</Text>
</TextInput>

handle函数将解析文本并Text为所有提及的内容创建样式元素:

  handleCheckTextChange = (inputText) => {
    const words = inputText.split(' ');
    const formattedText = [];
    words.forEach((word, index) => {
      const isLastWord = index === words.length - 1;
      if (!word.startsWith('@')) {
        return isLastWord ? formattedText.push(word) : formattedText.push(word, ' ');
      }
      const mention = (
        <Text key={word + index} style={{color: 'red'}}>
          {word}
        </Text>
      );
      isLastWord ? formattedText.push(mention) : formattedText.push(mention, ' ');
    });
    this.setState({formattedText: formattedText});
  }

演示:https : //snack.expo.io/@raphaelmerx/text-per-word-style

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何强制将代码样式格式设置为构建的一部分?

如何在Golang中将jsonb编码为http响应的一部分

如何在react native中添加背景图像,以使其占据屏幕的整个高度但仅占宽度的一部分?

如何在Flutter中使颜色成为UI文本的一部分?

如何设置我绘制的fabricjs文本对象的一部分的样式?

如何在React应用程序中仅加载Redux存储的一部分

如何在资源字典中使文本的一部分加粗

我如何在React Native中剪切视图的一部分

如何在SQL中将NULL连接为字符串的一部分

如何在MarkLogic中将子元素包含为单词查询的一部分

如何使用Powershell从字符串中删除文本的一部分?

如何在React Native中弄脏视图的一部分?

如何在React中为正文文本的一部分添加样式

如何在React中实时删除HTML的一部分

如何在jQuery中获取文本框ID的一部分

如何在Windows 7中为许多文件删除文件名的同一部分?

如何在AngularJS应用程序中解码URL的查询字符串的一部分?

如何在python中删除文本的一部分

如何在Azure上编写应用程序的一部分?

如何在未下拉菜单中仅显示选项文本的一部分

如何在 CSS/React 中隐藏 div 的一部分?

React-native 如何标记屏幕的一部分

如何在 Flutter 中设置文本的一部分样式?

如何在 Python 中的文本文件中提取部分图案线条的一部分?

如何删除文本的一部分

如何在表格的一部分中添加百分比

如何下载 React 组件的一部分?

如何使用 pytesseract 仅从图像的一部分中读取文本

如何在R中为ggplotly/plotly悬停文本的一部分着色不同的颜色