如何设置 react-datepicker 样式?

新手上路,请多包涵

我正在使用 webpackreact- datepicker 并设法使用提供的 css 模块导入它的 css。

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

该组件看起来不错而且很漂亮,但现在我想让它像上面的时间元素一样全宽。

在此处输入图像描述

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

我应该怎么办?

在此处输入图像描述

日期选择器.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;

原文由 Sebastian Patten 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 1.1k
1 个回答

我认为您只是缺少一些 CSS。在您的自定义样式表中试试这个(日期选择器样式表之后的任何地方):

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

演示

原文由 isherwood 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进