我有一个第三方库,这需要一个calendarClassName来修改它的风格,期望一个传统的类名的CSS类。我可以使用带样式的组件来完成此任务吗?
我尝试了css函数,但它不起作用,结果是样式数组而不是CSS类实体。
我只想这样做:
const myStyle = css`color: black`;
<DatePicker calendarClassName={myStyle}> // won't work尝试了attrs但没有任何幸运,className还没有传递给DatePicker。
const calendarClassName = "calendar";
export const MyDatePicker = styled(DatePicker).attrs({
calendarClassName,
})`
.${calendarClassName} {
border-radius: 0px;
box-shadow: 2px 0px 2.5px #D6D6D6;
border: 1px solid ${color.pacific};
}
`;我知道我可以直接使用CSS,但我只想知道如何使用styled-components来完成这项工作。
谢谢:)
发布于 2018-09-19 20:56:54
我认为如果将calendarClassName应用于嵌套元素,这种方法可以解决您的问题。
const StyledDatePicker = styled(DatePicker)`
.calendarClassName {
border-radius: 0px;
box-shadow: 2px 0px 2.5px #D6D6D6;
border: 1px solid ${color.pacific};
}
`;
<StyledDatePicker calendarClassName="calendarClassName">
https://stackoverflow.com/questions/52378924
复制相似问题