css - PrimeReact 和样式组件

标签 css reactjs styled-components primereact

我似乎无法使用 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/

相关文章:

reactjs - Redux : Where to place components using the store? 的原子设计

javascript - react JS Bootstrap JS 不工作

reactjs - React 样式组件条件三元运算符

css - styled-components 的生产版本中我的 css 类在哪里

javascript - 仅在移动设备而非桌面上显示 slider

html - 是否可以始终显示输入 "number"的向上/向下箭头?

reactjs - React Navigation 导航到特定选项卡

javascript - SetInterval 不适用于 JQuery 动画

html - 为什么 django 会在我的 html 文件中插入填充和字符?

reactjs - 使用主题时如何将 Prop 传递给样式组件?