我似乎无法使用 styled-component 来设置 PrimeReact 组件的样式。
鉴于下面的代码呈现一个 InputText,我的意图是改变它的宽度。但它不起作用。
import styled from "styled-components";
import {InputText} from 'primereact/components/inputtext/InputText';
class Component extends React.Component {
render() {
return (
<InputText/>
)
}
const ComponentView = styled(Component)`
.ui-inputtext {
width: 1000px;
}
`;
最佳答案
styled-components
生成应传递给组件的 className
。
import styled from "styled-components";
import {InputText} from 'primereact/components/inputtext/InputText';
class Component extends React.Component {
render() {
return (
<InputText className={this.props.className} /> <---- here
)
}
const ComponentView = styled(Component)`
.ui-inputtext {
width: 1000px;
}
`;
如果 InputText
不接受 className
,您可以简单地用另一个组件包装它:
import styled from "styled-components";
import {InputText} from 'primereact/components/inputtext/InputText';
class Component extends React.Component {
render() {
return (
<div className={this.props.className}> <---- here
<InputText />
</div>
)
}
const ComponentView = styled(Component)`
.ui-inputtext {
width: 1000px;
}
`;
关于css - PrimeReact 和样式组件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46277433/