React Antd 标题 - 粗体
React Antd Title - Bold
我想将标题的前半部分加粗
<Header>
<PageHeader
style={{ padding: 10 }}
className="site-page-header"
title="AbcDef" />
</Header>
如何制作标题AbcDef(部分标题为粗体)?
这可能吗?谢谢
解决此问题的一种方法是让传递给 PageHeader 的“标题”道具成为 HTML 元素,而不仅仅是字符串,这样您就可以在文本周围放置标签想要加粗。
您的 PageHeader 界面需要具有这种类型的标题(或其他 HTML 元素类型,如果需要)
title: HTMLHeadingElement
现在,当您将标题传递给 PageHeader 时,它看起来像这样
<Header>
<PageHeader
style={{ padding: 10 }}
className="site-page-header"
title={<h1><strong>Abc</strong>Def</h1>} />
</Header>
Ant Design Way
<PageHeader
style={{ padding: 10 }}
className="site-page-header"
title={
<h1>
<span style={{fontWeight: 'bold'}}>Bold</span> Title
</h1>}
/>
纯 React 方式
如果您需要 option/prop 来设置要在标题中加粗的字符数(从左到右),您可以这样做:
Parent 组件
<PageHeader
...
boldCharsCount={3}
</PageHeader>
PageHeader 组件
const PageHeader = ({title, boldCharsCount, ...rest}) => {
const part1 = title.substr(0,0+boldCharsCount);
const part2 = title.substr(0+boldCharsCount);
return (
<span>
<span style={{fontWeight: 'bold'}}>
{part1}
</span>
{part2}
</span>
);
}
我为您创建了一个小演示 — How To Bold First N chars of Text/Title in React
P.S。请记住,您通过 boldCharsCount
传递的数字也在计算 white-spaces。因此,您需要稍微调整此实现以涵盖这种情况。
我想将标题的前半部分加粗
<Header>
<PageHeader
style={{ padding: 10 }}
className="site-page-header"
title="AbcDef" />
</Header>
如何制作标题AbcDef(部分标题为粗体)?
这可能吗?谢谢
解决此问题的一种方法是让传递给 PageHeader 的“标题”道具成为 HTML 元素,而不仅仅是字符串,这样您就可以在文本周围放置标签想要加粗。
您的 PageHeader 界面需要具有这种类型的标题(或其他 HTML 元素类型,如果需要)
title: HTMLHeadingElement
现在,当您将标题传递给 PageHeader 时,它看起来像这样
<Header>
<PageHeader
style={{ padding: 10 }}
className="site-page-header"
title={<h1><strong>Abc</strong>Def</h1>} />
</Header>
Ant Design Way
<PageHeader
style={{ padding: 10 }}
className="site-page-header"
title={
<h1>
<span style={{fontWeight: 'bold'}}>Bold</span> Title
</h1>}
/>
纯 React 方式
如果您需要 option/prop 来设置要在标题中加粗的字符数(从左到右),您可以这样做:
Parent 组件
<PageHeader
...
boldCharsCount={3}
</PageHeader>
PageHeader 组件
const PageHeader = ({title, boldCharsCount, ...rest}) => {
const part1 = title.substr(0,0+boldCharsCount);
const part2 = title.substr(0+boldCharsCount);
return (
<span>
<span style={{fontWeight: 'bold'}}>
{part1}
</span>
{part2}
</span>
);
}
我为您创建了一个小演示 — How To Bold First N chars of Text/Title in React
P.S。请记住,您通过 boldCharsCount
传递的数字也在计算 white-spaces。因此,您需要稍微调整此实现以涵盖这种情况。