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

Why is Checkbox text not using theme font size?

我已经使用 loadTheme 更改了 'medium' 字体大小,如下所示:

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

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

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

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

是的,复选框应该从主题中读取字体。事实上,在 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