javascript - 如何以不同的颜色显示文本的某些部分,即@和}之间的数据应该是不同的颜色
问题描述
想要在不同颜色@
之间显示数据}
例如:@{data} @{message} 在“一个@{data} 中应该是不同的颜色,@{message} @{somedata} 在“两个@{somedata} 中应该是不同的颜色
const data1 = [
{name: 'one @{data} and @{message}'},
{name: 'two @{somedata}'},
{name: 'three @{data}'},
{name: 'four @{data}'}
];
export default React.createClass({
render() {
return (
<div>
{data1.map(function(a) {
return (
<p>{a.name}</p>
)
})}
</div>
)
}
})
解决方案
我用了replace
完整代码示例:https://codepen.io/yunyong/pen/qveLZL
<p dangerouslySetInnerHTML={
{__html: a.name
.replace(/@{/gi, '<span style="color:red">')
.replace(/}/gi,'</span>')}
}>
</p>
推荐阅读
- mysql - MySQL 之间的日期不会得到想要的结果
- android - 为什么 kotlin 媒体会话回调示例中的 2 个函数是公开的?
- javascript - 如何将多个数组和一个字符串组合成一个数组?
- java - 在 GET 请求中使用 LocalDate 作为参数的 TypeMismatch 错误
- angular - 从父组件获取角度子组件的 offsetHeight
- groovy - 如何在groovy脚本中将常量字符串存储在单独的文件中
- apache-kafka - Kafka 序列化器和模式注册
- python - 将具有索引格式的大型 .json 文件读入 Pandas 数据帧
- c# - 我可以通过它的 processId 获取 chrome.exe 的 url 吗?
- bazel - 如何从 bazel 命令行传递 docker 图像标签