【发布时间】:2021-04-17 14:41:40
【问题描述】:
我正在制作一个建议组件,我需要突出显示与查询匹配的建议部分(就像 duckduck.go 一样)。
当前逻辑:
function Highlight({ text = '', highlight = '' }) {
const regex = new RegExp(`(${highlight})`, 'gi');
const split = text.split(regex);
return (
<span>
{split
.filter((current) => current)
.map((current, i) => (regex.test(current) ? <span key={i}>{current}</span> : <em>key={i}>{current}</em>))}
</span>
);
}
例如
建议:美国、联合航空公司
查询:联合 美国 美国/United Airlines ## 工作正常
查询:United St United States / United Airlines ## 工作不正常
期待:United St ==> United States & United Airlines
期待:nited St ==> United States & United Airlines
期待:Unit St ==> United States 和联合航空公司
【问题讨论】:
-
您能解释一下您需要实现什么行为吗?
标签: javascript reactjs regex search