gpt4 book ai didi

reactjs - 日期选择器 - 禁用今天之前的几天不起作用

转载 作者:行者123 更新时间:2023-12-05 03:02:00 25 4
gpt4 key购买 nike

我想禁用今天之前的日期或过去的日期。以下是我处理它的方法,但它不起作用。我仍然可以选择今天之前的日期..

日期组件:

type Props = {
onDateChange: Function,
};

type State = {
calendarOpen: boolean,
month: moment,
day: ?moment,
};

export default class AppearDateCalendar extends Component<Props, State> {
state = {
calendarOpen: false,
month: moment(),
day: undefined,
};

componentDidMount() {
document.addEventListener('mousedown', this.handleClickOutside);
}

componentWillUnmount() {
document.removeEventListener('mousedown', this.handleClickOutside);
}

handleClickOutside = (event: SyntheticMouseEvent<EventTarget>) => {
const currentNode = ReactDOM.findDOMNode(this);
if (currentNode && !currentNode.contains(event.target)) {
this.setState({ calendarOpen: false });
}
};

handleCalendarClick = () => {
this.setState({ calendarOpen: !this.state.calendarOpen });
};

handleMonthChange = (_event: any, newMonth: moment) => {
this.setState({ month: newMonth });
};

handleDaySelect = (_event, day: moment) => {
this.props.onDateChange(day);
this.setState({ day, calendarOpen: false });
};

dateDisplayText = (): string => {
if (this.state.day) return this.state.day.format('Do MMM, YY');
return t('choose_date');
};

render() {
const today = new Date();

return (
<div className={cx(css.appearDateCalendar, this.state.calendarOpen ? css.focused : '')}>
<div onClick={this.handleCalendarClick}>
<h5 className={css.heading}>{t('heading')}</h5>
<p className={css.dateText}>{this.dateDisplayText()}</p>
</div>
{this.state.calendarOpen && (
<div className={css.calendarDropdown}>
<DayPicker
disabledDays={{ before: today }}
month={this.state.month}
onInteraction={this.handleDaySelect}
onMonthChange={this.handleMonthChange}
/>
</div>
)}
</div>
);
}
}

所以我正在使用 disabledDays 属性并设置 before:today。这是这样做的方法还是有更好/正确的方法来解决这个问题?欢迎任何帮助/建议!

最佳答案

这是我添加的 Prop 。它对我有用:

dayPickerProps={{
disabledDays: {
before: new Date()
}
}}

希望对您有所帮助!

关于reactjs - 日期选择器 - 禁用今天之前的几天不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55258635/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com