Javascript React/Redux:是否有方法在React date picker';s与redux表格合并?
本质上,我有一个react date选择器作为redux表单字段合并到我的表单中。我允许用户使用redux form reset prop清除整个表单。这很奇怪,因为datepicker在我的表单数据中被识别,但当我试图清除整个页面时,它是唯一一个不清除的字段 这个。道具。重置 这是改变 我的约会选择者:Javascript React/Redux:是否有方法在React date picker';s与redux表格合并?,javascript,reactjs,react-redux,Javascript,Reactjs,React Redux,本质上,我有一个react date选择器作为redux表单字段合并到我的表单中。我允许用户使用redux form reset prop清除整个表单。这很奇怪,因为datepicker在我的表单数据中被识别,但当我试图清除整个页面时,它是唯一一个不清除的字段 这个。道具。重置 这是改变 我的约会选择者: const CustomInput = React.forwardRef((props, refs) => { const inputProps = props.inputPr
const CustomInput = React.forwardRef((props, refs) => {
const inputProps = props.inputProps;
inputProps.input.onChange(props.value);
return (
<div className="input-button">
<FormattedTextInput
{...inputProps}
ref={refs}
onFocus={props.onFocus}
onChange={props.onChange}
helpText={<span aria-hidden="true">YYYY-MM-DD | HH:MM</span>}
/>
</div>
);
});
CustomInput.propTypes = {
value: PropTypes.string,
onFocus: PropTypes.func,
onChange: PropTypes.func,
inputProps: PropTypes.object
};
const DateTimePicker = props => {
const [startDate, setStartDate] = useState(null);
const ref = React.createRef();
return (
<DatePicker
selected={startDate}
onChange={date => setStartDate(date)}
minDate={moment()}
customInput={<CustomInput inputProps={props} ref={ref} />}
showTimeSelect
disabledKeyboardNavigation
timeFormat="HH:mm"
timeIntervals={15}
timeCaption="time"
isClearable
dateFormat="YYYY-MM-DD HH:mm"
/>
);
};
export default DateTimePicker;
const CustomInput=React.forwardRef((道具,参考)=>{
常量inputProps=props.inputProps;
inputProps.input.onChange(props.value);
返回(
);
});
CustomInput.propTypes={
值:PropTypes.string,
onFocus:PropTypes.func,
onChange:PropTypes.func,
inputProps:PropTypes.object
};
const DateTimePicker=props=>{
常量[startDate,setStartDate]=useState(null);
const ref=React.createRef();
返回(
设置开始日期(日期)}
minDate={moment()}
customInput={}
showTimeSelect
禁用键盘导航
timeFormat=“HH:mm”
时间间隔={15}
timeCaption=“时间”
易懂
dateFormat=“YYYY-MM-DD HH:MM”
/>
);
};
导出默认日期时间选择器;
我的领域:
<Field
className="usaa-input"
component={DateTimePicker}
label="Future Date"
name="futureDate"
validate={[required, validDateTimeFormat]}
formatting="9999-99-99 99:99"
/>
它从startDate useState获取它的值。 UseEffect类似于类的componentWillUnmount 当不再安装此函数时,应使用useEffect重置startDate值
useEffect(() => {
return () => {
setStartDate(null);
}
}, []);
那没用。我注意到父级的状态被清除,因为字段验证被重置,但是您仍然可以看到日期,因为内部状态没有被重置。