javascript - 使用 makeStyles 更改按钮文本的颜色
问题描述
以前,我的按钮样式是这样的:
style={{
background: '#6c74cc',
borderRadius: 3,
border: 0,
color: 'white',
height: 48,
padding: '0 30px',
}}>
这运作良好。文本颜色是白色,而背景颜色是按钮的颜色。但是,现在我正在使用这个:
className={classes.button}>
export const useStyles = makeStyles((theme: Theme) =>
createStyles({
button: {
background: '#6c74cc',
borderRadius: 3,
border: 0,
color: 'white',
height: 48,
padding: '0 30px',
//fontStyle: 'red',
},
}),
);
虽然背景颜色正确,但文本颜色不是白色(当按钮被禁用时)。当按钮未被禁用时,它很好。否则,它不是。我怎样才能解决这个问题?
解决方案
查看代码框示例会很有帮助,但我怀疑材质按钮为禁用元素设置了颜色属性,这就是文本颜色错误的原因。
Material-ui 使用makestyles,它使用jss创建样式表 - 因此,如果您为其禁用状态创建伪选择器,例如
export const useStyles = makeStyles((theme: Theme) =>
createStyles({
button: {
background: '#6c74cc',
borderRadius: 3,
border: 0,
height: 48,
padding: '0 30px',
'&:disabled': {
color: 'white',
}
},
}),
);
您应该发现应用了正确的颜色。如果没有用最小的代码沙箱回复,我很乐意看看:)
推荐阅读
- javascript - `未捕获的类型错误:无法读取未定义的属性'signOut'`
- django - DRF 更改名称或忽略“创建”路由
- wpf - WPF DataGridTextColumn TextChanged 事件绑定
- python - python中的SQL查询等效于:仅删除数据框中的一条相同记录
- c# - 处理 2 类用户
- python - 使用空格分割字符串并使用python将它们存储在列表中
- scala - 如何使用 Spark/Scala 将同一列中的不同值连接到一行中?
- google-sheets - 谷歌表格:将百万/十亿的价值转换为数字
- amazon-web-services - 带有应用程序负载均衡器的 Cloudfront 返回 504
- python-3.x - 如何将多个表单放在同一个views.py函数中 - Django