Я не использовал эту библиотеку (antd), но просматривая документы для нее, использование этого fieldDecorator добавляет к компоненту два свойства - onChange и value.
{getFieldDecorator("date-picker")(<CustomDatePicker />)}
Итак, представьте, что CustomDatePicker имеет эти два свойства. Значение будет значением элемента формы, и ожидается, что onChange будет вызываться как обработчик onChange для ввода формы.
Однако в вашем компоненте CustomDatePicker вы ничего не делаете ни с одним из них. Вместо этого вы отслеживаете значение (и обновляете его с помощью обработчика) локально для этого компонента с локальным состоянием.
Вместо этого вам следует использовать эти два свойства:
class CustomDatePicker extends React.Component {
state = {
isOpen: false
};
render() {
return (
<DatePicker
value={this.props.value}
format={this.state.isOpen ? ["MMDD", "MMDDYY"] : "MM/DD/YY"}
placeholder=" -- Select Date --"
disabledDate={d => d && d > moment(Date.now())}
onOpenChange={status => {
this.setState({ isOpen: status });
}}
onChange={this.props.onChange}
/>
);
}
}
Если вы Если вы хотите выполнить любое начальное значение logi c, или проверку, вы сделаете это на компоненте уровня формы, который управляет состоянием.