【问题标题】:Is it possible to change a part of text styling of ChoiceGroupOption (office-ui-fabric)?是否可以更改 ChoiceGroupOption (office-ui-fabric) 的部分文本样式?
【发布时间】:2020-06-02 02:35:41
【问题描述】:

我正在为我的单选按钮使用 Office 结构 Choice Group。我想将部分文本的样式更改为bold,但其余文本保持正常字体大小。我正在使用onRenderField 方法,但我还没有成功实现......我非常感谢任何输入!

单选按钮文本的最终目标:

开启:这里有一些补充说明

使用onRenderField方法的示例代码:

options={[
  {
    key: 'On', 
    text: 'On: some additional explanation here', 
    onRenderField: (props, render) => {
      return (
        <span style={{fontWeight: 'bold'}}>
          {render!(props)}
        </span>
      );
    }
  }
]}

上面的代码使bold整个text如下:

开启:这里有一些补充说明

【问题讨论】:

    标签: reactjs office-ui-fabric office-ui-fabric-react


    【解决方案1】:

    有一个选项似乎没有很好的记录,称为onRenderLabel,可以满足您的需要。

    使用它看起来像:

    {
      key: 'C',
      text: 'Option C',
      onRenderLabel: (p) => <span id={p.labelId} className="ms-ChoiceFieldLabel">Option C: only <strong>this part</strong> is bold</span>
    }
    

    回调中的pIChoiceGroupOptionProps 类型并且可能有用,尽管定义整个内联渲染更容易。 (https://docs.microsoft.com/en-us/javascript/api/office-ui-fabric-react/ichoicegroupoptionprops?view=office-ui-fabric-react-latest)

    【讨论】:

    • codepen.io/jdh-msft/pen/bGEGeRV?editors=0010的工作示例(以及显示的其他一些覆盖样式)
    • 嗨,JD!感谢您的建议!我可以使用 onRenderLabel 实现我想要的!您能否让我知道如何为标签识别正确的类名..?我以为我需要为标签创建自定义样式,但 `className="ms-ChoiceFieldLabel"' 效果很好。
    • 我是通过直接查看源代码找到的。不幸的是,我不知道更好的方法!在这种情况下,类名直接烘焙到组件中:github.com/microsoft/fluentui/blob/…
    • 谢谢!这真的很有帮助:)
    猜你喜欢
    • 2017-07-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-05-06
    • 1970-01-01
    • 2016-06-10
    • 2018-01-12
    相关资源
    最近更新 更多