我正在使用webpack,react-datepicker并设法使用提供的css模块导入其css。
import 'react-datepicker/dist/react-datepicker-cssmodules.css
该组件看起来很精致和花花公子,但现在我想让它像它上面的时间元素一样全宽。
看看CSS,它需要的是react-datepicker-wrapper
元素,它由库动态添加以具有display: block
。我在自己的css中对react-datepicker-wrapper
所做的任何修改都没有。
我该怎么办?
日期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;
您可以通过在行尾添加!important来获得您的CSS工作:
display: block !important;
并且,您应该在最后导入您的css文件:
import 'library0.css';
import 'library1.css';
import 'library2.css';
import 'yourCss.css'; // Your css
我想你只是缺少一些CSS。在自定义样式表中尝试此操作(在datepicker的样式表之后的任何位置):
.react-datepicker-wrapper,
.react-datepicker__input-container,
.react-datepicker__input-container input {
display: block;
width: 100%;
}