我想改变react-datepicker的样式:
1.将输入框更改为自定义样式
2.更改日历的样式和语言
我看到一篇文章(Custom Input Field on datepicker,react-datepicker components)谈到替换整个组件。我是否可以直接编辑样式,而无需编写新组件?如果是,我如何实现这一点?此外,我不知道如何更改日历。我如何才能知道我应该更改哪个组件?
import React, {Component} from 'react';
import {render} from 'react-dom';
import moment from 'moment';
import DatePicker from 'react-datepicker';
import 'react-datepicker/dist/react-datepicker.css';
const Input = ({onChange, placeholder, value, isSecure, id, onClick}) => (
<input
style={{backgroundColor:"black"}}
onChange={onChange}
placeholder={placeholder}
value={value}
isSecure={isSecure}
id={id}
onClick={onClick}
/>
);
const NoClickInput = ({onClick, ...props}) => <Input {...props} />;
class App extends Component {
state = {
startDate: moment(),
endDate: moment()
};
render() {
const {startDate, endDate} = this.state;
return (
<div>
<div>Start:</div>
<DatePicker
selected={startDate}
selectsStart
startDate={startDate}
endDate={endDate}
onChange={date=>this.setState({startDate})}
/>
<div>End:</div>
<DatePicker
selected={endDate}
selectsEnd
startDate={startDate}
endDate={endDate}
onChange={date => this.setState({ endDate })}
/>
</div>
);
}
}
render(<App />, document.getElementById('root'));
发布于 2019-01-01 04:08:10
您好,您需要创建您的自定义css样式表,并在react中导入它
还可以尝试在css代码中使用!important,以便在默认样式上应用自定义样式表。
发布于 2020-09-03 02:18:12
从node_modules
导入sass文件
@import 'node_modules/react-datepicker/src/stylesheets/datepicker.scss';
.react-datepicker__month-container {
background-color: #081833;
color: #969eac;
font-size: 1rem;
font-family: 'Mulish';
.react-datepicker__month {
padding: 1rem 0;
}
.react-datepicker__month-text {
display: inline-block;
width: 5rem;
margin: 0.5rem;
font-size: 1rem;
padding: 0.2rem;
&:hover {
background-color: #534cea;
}
}
}发布于 2021-04-23 21:57:50
对于简单的样式更改,如字体、字体大小或颜色,我建议只需覆盖react-datepicker的默认scss变量。例如:
使用变量variables.scss创建
$datepicker__font-大小: 1rem;
@import 'variables.scss';
@导入'node_modules/react-datepicker/src/stylesheets/datepicker.scss';
$datepicker__font-size: 0.8rem !default;可以找到变量的完整列表:node_modules/react-datepicker/src/stylesheets/variables.scss
https://stackoverflow.com/questions/53990971
复制相似问题