Reactjs 如何设置反应材质UI的主要凸起按钮的文本颜色?
通过传递一个自定义muiTheme属性,我已经能够自定义材质UI的许多颜色和间距相关属性,但是似乎没有一个调色板元素对应于任何特定状态下按钮的文本颜色 在本例中,我使用的主1颜色是#4275c7,主按钮文本显示为黑色。考虑到这种原色,白色文本看起来更好,可读性更强 我已经尝试过设置palette.primaryColor/primaryTextColor、button.primaryTextColor和raisedButton.textColor/primaryColor/primaryTextColor。它们都不是驱动按钮文本着色。我是否缺少一个明显的属性,或者是否需要另一种配置 作为参考,以下是我目前的博物馆宣言:Reactjs 如何设置反应材质UI的主要凸起按钮的文本颜色?,reactjs,styling,material-ui,palette,Reactjs,Styling,Material Ui,Palette,通过传递一个自定义muiTheme属性,我已经能够自定义材质UI的许多颜色和间距相关属性,但是似乎没有一个调色板元素对应于任何特定状态下按钮的文本颜色 在本例中,我使用的主1颜色是#4275c7,主按钮文本显示为黑色。考虑到这种原色,白色文本看起来更好,可读性更强 我已经尝试过设置palette.primaryColor/primaryTextColor、button.primaryTextColor和raisedButton.textColor/primaryColor/primaryText
export const muiTheme=getMuiTheme({
fontFamily:“机器人,无衬线”,
边界半径:2,
间距:{
iconSize:24,
桌面:24,
desktopGutterMore:32,
桌面无水槽:16,
desktopGutterMini:8,
desktopKeylineIncrement:64,
desktopDropDownMenuItemHeight:32,
桌面下拉菜单字体大小:15,
DesktopDrawerMinuItemHeight:48,
桌面Subheader高度:48,
桌面工具栏高度:56
},
调色板:{
原色1:“#4275c7”,
primaryTextColor:MaterialColor.white,
原色:材料颜色。白色,
原色2:MaterialColor.cyan700,
原色3:材质颜色为灰色400,
Accent1颜色:材质颜色pinkA200,
Accent2颜色:材质颜色为100灰色,
Accent3颜色:材质颜色为灰色500,
textColor:MaterialColor.darkBlack,
次要文本颜色:(0,材质颜色操纵器。褪色)(材质颜色。暗黑色,0.54),
alternateTextColor:MaterialColor.white,
画布颜色:材质颜色。白色,
边框颜色:材质颜色。灰色300,
禁用颜色:(0,材质颜色操纵器。褪色)(材质颜色。暗黑色,0.3),
pickerHeaderColor:MaterialColors.cyan500,
clockCircleColor:(0,MaterialColor.fade)(MaterialColor.darkBlack,0.07),
阴影颜色:材质颜色。全黑
},
按钮:{
身高:45,
//primaryTextColor:MaterialColor.white,
},
//升起按钮:{
//颜色:材料颜色。黑色,
//textColor:MaterialColor.white,
//原色:材料颜色。黑色,
//primaryTextColor:MaterialColor.white,
// },
});代码>您正在使用v1吗?如果是,则主按钮的文本颜色在组件的样式表中使用theme.palete.getContractText定义:
这会找到与您选择的原色对比度最好的颜色。如果您不想这样做,您可以创建一个自定义组件来包装按钮并从中进行选择。您使用的是v1吗?如果是,则主按钮的文本颜色在组件的样式表中使用theme.palete.getContractText定义:
这会找到与您选择的原色对比度最好的颜色。如果您不想这样做,您可以创建一个自定义组件来包装按钮并从中选择。您使用的是什么材质的ui版本?抱歉,我应该在帖子中提到。这个项目是在v0.18上。你使用的是什么材质的ui版本?抱歉,我应该在帖子中提到。这个项目在v0.18上。谢谢Ken!我从v1开始这个项目,但一直遇到问题,现在又回到了v0.18。例如,在V1中,复选框似乎不再具有“label”属性,使用外部标签标记将其包装会导致垂直对齐问题。根据您的经验,V1是否足够稳定,可以在生产项目中使用,而不必在每一步都使用简单、明显的东西?@TronPaul这是一个测试版和重写版。会有一些变化,但是v1中的组件更容易使用和设计,所以我们决定在我们的项目中使用它,并根据需要为项目做出贡献。这很公平。将此答案标记为已接受,我将尝试将此项目再次向前滚动到V1。谢谢Ken!我从v1开始这个项目,但一直遇到问题,现在又回到了v0.18。例如,在V1中,复选框似乎不再具有“label”属性,使用外部标签标记将其包装会导致垂直对齐问题。根据您的经验,V1是否足够稳定,可以在生产项目中使用,而不必在每一步都使用简单、明显的东西?@TronPaul这是一个测试版和重写版。会有一些变化,但是v1中的组件更容易使用和设计,所以我们决定在我们的项目中使用它,并根据需要为项目做出贡献。这很公平。将此答案标记为已接受,我将尝试将此项目再次向前滚动到V1。
raisedPrimary: {
color: theme.palette.getContrastText(theme.palette.primary[500]),
backgroundColor: theme.palette.primary[500],
'&:hover': {
backgroundColor: theme.palette.primary[700],
},
},