我正在尝试更改Material-UI输入组件的下划线边框颜色。但是以下代码不起作用,并给我以下错误:
警告:规则未链接。缺少工作表选项“链接:真”
这些是我的进口货
import React from "react";
import classNames from "classnames";
import PropTypes from "prop-types";
import injectSheet from "react-jss";
import customInputStyle from "../../assets/jss/material-dashboard-react/components/customInputStyle.jsx";
这些是组合的类名:
const underlineClasses = classNames({
[classes.underlineError]: error,
[classes.underlineSuccess]: success && !error,
[classes.underlineCustom]: customColor,
[classes.underline]: true
});
如果错误或成功道具为真,则显示正确的颜色。我想根据propColor设置下划线颜色(如果已定义),因此无法定义静态颜色。
这是使用组合类名的组件:
<Input
classes={{
underline: underlineClasses
}}
/>
这是样式对象:
const customInputStyle = {
underline: {
"&:hover:not($disabled):before,&:before": {
borderColor: "#D2D2D2 !important",
borderWidth: "1px !important"
},
"&:after": {
borderColor: primaryColor
}
},
underlineError: {
"&:after": {
borderColor: dangerColor
}
},
underlineSuccess: {
"&:after": {
borderColor: successColor
}
},
underlineCustom: {
"&:after": {
borderColor: props => props.customColor
}
}
}
这是我导出组件的方式:
export default injectSheet(customInputStyle, { link: true })(CustomInput);
答案 0 :(得分:0)
尚不支持嵌套规则中的函数值,请按照本期https://github.com/cssinjs/jss/issues/795的v10版本更新进行操作
答案 1 :(得分:0)
您应该使用:: after而不是:after,然后查看https://github.com/cssinjs/jss/issues/710和https://developer.mozilla.org/en-US/docs/Web/CSS/Pseudo-elements