湖上湖
2022-07-21 10:16:37
有誰知道我如何將一組日期傳遞給 react-datetime?我正在嘗試實(shí)現(xiàn)一個(gè)日期選擇器,它可以顯示我所在州的“預(yù)訂”日期,但目前我只設(shè)法禁用當(dāng)前日期之前的所有日期。那么如何將我所在州的日期傳遞給<Datetime/>,以禁用它們? 'use strict';import React from 'react';import {PropTypes} from 'prop-types';import Datetime from 'react-datetime';class DatePicker extends React.Component { constructor(props) { super(props); this.state = { dates: [{id: 1, date: 'Apr 30 2020 09:00:00 AM'}, {id: 2, date: 'May 1 2020 12:00:00 PM'}] }; } render() { const {t} = this.props; let yesterday = Datetime.moment().subtract(1, 'day'); let valid = function (current) { return current.isAfter(yesterday); }; return ( <div className="date-picker"> <p>{t('Date Picker')}</p> <Datetime timeFormat={false} isValidDate={valid(yesterday)}/> </div> ); }}export default DatePicker;
1 回答

躍然一笑
TA貢獻(xiàn)1826條經(jīng)驗(yàn) 獲得超6個(gè)贊
首先,您的狀態(tài)日期格式有問題。嘗試使用時(shí)刻設(shè)置您的日期
this.state = {
dates: [{
id: 1,
date: Datetime.moment("30 Apr 2020")
},
{
id: 2,
date: Datetime.moment("01 May 2020")
}]
}
您的驗(yàn)證函數(shù)應(yīng)該看起來像這樣,或者您可以將其提取到類方法中
let valid = function(current, selected) {
return !this.state.dates.some(day => current.isSame(day.date, "day"));
};
并將此函數(shù)傳遞給 Datetime
<Datetime timeFormat={false} isValidDate={valid}/>
添加回答
舉報(bào)
0/150
提交
取消