css - 反应如何设置样式:styled-dropdown-component
问题描述
我正在尝试使用下面的代码来更改color
和:size
DropdownMenu
styled-components
const DropdownCustom = styled.DropdownMenu`
font-family: sans-serif;
font-size: 1.3rem;
border: none;
border-radius: 5px;
background-color: red;
`;
然后我尝试像这样使用它:
<Dropdown>
<button onClick={() => setState(!state)}>Create</button>
<DropdownCustom hidden={!state}>
<DropdownItem>Action</DropdownItem>
<DropdownItem>Another action</DropdownItem>
<DropdownItem>Something else here</DropdownItem>
</DropdownCustom>
</Dropdown>
但这给了我一个错误_styledComponents.default.DropdownMenu is not a function
。
我对使用 css 进行样式设计非常陌生,而且非常令人困惑,因此非常感谢任何建议或指南!:)
已编辑
import {
Dropdown,
DropdownItem,
DropdownMenu
} from "styled-dropdown-component";
解决方案
如果您尝试设置自定义组件的样式,则需要将styled
其用作函数:
const DropdownCustom = styled(DropdownMenu)`
font-family: ...
`;
只有当自定义组件使用道具时它才会起作用。className
因此,您有时想要为自定义组件的父级设置样式,并使用选择器来定位样式 - 因为它只是一个 CSS:
const Wrapper = styled.div`
font-family: ...;
.dropDown {
....;
}
`;
<Wrapper>
<Dropdown />
</Wrapper>
推荐阅读
- angular - Angular 应用程序两次下载捆绑的 JS,这是一个错误吗?
- jquery - 动态重新加载表时,列样式未呈现
- python - 根据相同的 x 值绘制两个不同长度的 matplotlib 列表
- azure-active-directory - 自定义 AAD 身份验证逻辑
- javascript - 在材质 UI 中使用 withWidth HOC
- c# - 是否有可能更改 DataGridRowGroupHeader 控件的内容?
- c++ - 给定代码不适用于给定问题
- java - 降低java中大整数问题的时间复杂度
- c# - 有没有办法将数组拆分为 X 大小的列表?
- android - 在列表视图中按位置编辑项目