【发布时间】:2018-01-16 21:16:41
【问题描述】:
我在 React 组件中从 Spotify 返回一组信息,并希望查询返回的 JSON 并突出显示艺术家姓名中的原始搜索词。例如,如果您搜索“bus”并且返回的艺术家之一是 Kate Bush,那么这将在“Kate BUSh”中突出显示为绿色。目前我正在从 render() 中调用一个函数。但是,我得到的是:
Kate <span style="color:green">Bus</span>h
我如何让 render() 将 HTML 读取为 HTML(这样 Bus 将只是绿色)而不是呈现为文本?来自 React 组件的相关代码如下:
// Called from within render() to wrap a span around a search term embedded in the artist, album or track name
underlineSearch(displayString) {
let searchTerm = this.props.searchTerm;
if (displayString.indexOf(searchTerm) !== -1) {
displayString = displayString.replace(searchTerm, '<span style="color:green">'+searchTerm+'</span>');
}
return displayString;
}
render() {
return (
<div className="Track" id="Track">
<div className="Track-information">
<h3>{this.underlineSearch(this.props.trackName)}</h3>
<p>{this.underlineSearch(this.props.artistName)} | {this.underlineSearch(this.props.albumName)}</p>
</div>
</div>
);
}
【问题讨论】:
-
style={{color: 'green'}}工作吗?
标签: reactjs