我如何设置react-datepicker的样式?

问题描述 投票:1回答:3

我正在使用webpack,react-datepicker并设法使用提供的css模块导入其css。

import 'react-datepicker/dist/react-datepicker-cssmodules.css

该组件看起来很精致和花花公子,但现在我想让它像它上面的时间元素一样全宽。

enter image description here

看看CSS,它需要的是react-datepicker-wrapper元素,它由库动态添加以具有display: block。我在自己的css中对react-datepicker-wrapper所做的任何修改都没有。

我该怎么办?

enter image description here

日期picker.component.jsx

import React from 'react';
import DatePicker from 'react-datepicker';
import 'react-datepicker/dist/react-datepicker-cssmodules.css';
import './date-picker.component.bootstrap.css';

// eslint-disable-next-line no-confusing-arrow
const buildClassNames = (touched, isInvalid) =>
touched && isInvalid ? 'form-control is-invalid' : 'form-control';

export const DatePickerBootstrap = (props) => {
  const { setFieldValue, setFieldTouched, errors, touched } = props;
  const { name, value, label, ...rest } = props;

  return (
<div className="form-group">
    <label className='datePickerLabel' htmlFor={name}>{label}</label>
    <DatePicker
    selected={value}
    onChange={(e) => {
      setFieldValue(name, e);
      setFieldTouched(name);
    }}
    className={buildClassNames(touched, !!errors)}
    customInput={
        <input
        type="text"
        id={name}
        placeholder={label} />
    }
    {...rest}
    />

    <div className="invalid-feedback">
        {errors}
    </div>
</div>
  );
};

export default DatePickerBootstrap;
reactjs datepicker css-modules react-css-modules
3个回答
0
投票

您可以通过在行尾添加!important来获得您的CSS工作:

display: block !important;

并且,您应该在最后导入您的css文件:

import 'library0.css';
import 'library1.css';
import 'library2.css';
import 'yourCss.css'; // Your css

0
投票

我想你只是缺少一些CSS。在自定义样式表中尝试此操作(在datepicker的样式表之后的任何位置):

.react-datepicker-wrapper,
.react-datepicker__input-container,
.react-datepicker__input-container input {
    display: block;
    width: 100%;
}

Demo


0
投票

覆盖默认的css之类的

.react-datepicker__input-container input {
   width: 100%;
}

working example

© www.soinside.com 2019 - 2024. All rights reserved.