首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在react-datepicker中自定义样式?

如何在react-datepicker中自定义样式?
EN

Stack Overflow用户
提问于 2019-01-01 03:51:31
回答 3查看 13.2K关注 0票数 4

我想改变react-datepicker的样式:

1.将输入框更改为自定义样式

2.更改日历的样式和语言

我看到一篇文章(Custom Input Field on datepickerreact-datepicker components)谈到替换整个组件。我是否可以直接编辑样式,而无需编写新组件?如果是,我如何实现这一点?此外,我不知道如何更改日历。我如何才能知道我应该更改哪个组件?

代码语言:javascript
复制
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'));

EN

回答 3

Stack Overflow用户

发布于 2019-01-01 04:08:10

您好,您需要创建您的自定义css样式表,并在react中导入它

还可以尝试在css代码中使用!important,以便在默认样式上应用自定义样式表。

票数 1
EN

Stack Overflow用户

发布于 2020-09-03 02:18:12

从node_modules

  • override

导入sass文件

代码语言:javascript
复制
@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;
    }
  }

  
}

  • 使用sass文件或将其编译为css并使用它。
票数 1
EN

Stack Overflow用户

发布于 2021-04-23 21:57:50

对于简单的样式更改,如字体、字体大小或颜色,我建议只需覆盖react-datepicker的默认scss变量。例如:

使用变量variables.scss创建

  1. 文件

$datepicker__font-大小: 1rem;

  1. 从节点模块导入变量文件和datepicker.scss文件:

@import 'variables.scss';

@导入'node_modules/react-datepicker/src/stylesheets/datepicker.scss';

  1. 编译为css。新值应替换缺省值$datepicker__font-size: 0.8rem !default;

可以找到变量的完整列表:node_modules/react-datepicker/src/stylesheets/variables.scss

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53990971

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档