我正在做一个Next.JS的谷歌克隆。
我正在尝试编写一些CSS,以便使用Google API将搜索结果对象中的搜索输入加粗。
如果搜索词出现在{result.snippet}的值中,我如何才能有条件地将{router.query.term}加粗?
Header.js
function Header() {
const router = useRouter();
const searchInputRef = useRef(null);
const search = (e) => {
e.preventDefault();
const term = searchInputRef.current.value;
if (!term) return;
router.push(`/search?term=${term}`);
};
return (
<header>
<input
type="text"
ref={searchInputRef}
className="flex-grow w-full focus:outline-none"
defaultValue={router.query.term}
/>
</header>
);
}
export default Header;SearchResults.js
function SearchResults({ results }) {
return (
<div>
{results.items?.map((result) => (
<div key={result.link}>
<p className="line-clamp-2">{result.snippet}</p>
</div>
))}
<PaginationButtons />
</div>
);
}
export default SearchResults;发布于 2021-05-09 22:00:48
你可以很容易地用内联样式做到这一点;
<p className="line-clamp-2"
style={{fontWeight: condition ? bold : normal}}
>
{result.snippet}
</p>https://stackoverflow.com/questions/67457855
复制相似问题