为什么复选框文本不使用主题字体大小?

时间:2019-03-21 16:33:23

标签: office-ui-fabric

我已使用loadTheme更改了“中”字体大小,例如:

loadTheme({
  fonts: {
    medium: {
      fontFamily: fonts.fontFamily,
      fontSize: fonts.fontSize.regular
    }
  }
)

但是,基本的Checkbox样式是直接从FontSizes此处加载字体大小:

https://github.com/OfficeDev/office-ui-fabric-react/blob/ace874ab7e56188a7d6de081915c63025def4e05/packages/office-ui-fabric-react/src/components/Checkbox/Checkbox.styles.ts#L223

我知道我可以在组件本身上覆盖它,但似乎我不必这样做。这是错误吗?组件默认不应该使用主题字体大小吗?

1 个答案:

答案 0 :(得分:1)

是的,复选框应从主题读取字体。实际上,在fabric-7分支中,它可以:

https://github.com/OfficeDev/office-ui-fabric-react/blob/14b1d77fc97fffb1c333a3601d62c3e30c4cf3b0/packages/office-ui-fabric-react/src/components/Checkbox/Checkbox.styles.ts#L136

Fabric 7计划于5月发布。同时,您应该可以使用loadTheme调用来应用自己的样式,如下所示:

const checkboxStyling = (props) => {
  return {
    text: { ...props.theme.fonts.medium }
  }
}

...

<Checkbox label='test' styles={checkboxStyling} />

这在以下CodePen中有效:https://codepen.io/jasongore/pen/JVwJGO