没有技术收获,只是记录一下这个报错是form值有问题
原因是单个日期的时间控件下,重置form值的时候数据格式有问题,修改代码:
// 重置表单 const reset = () => { const resetValues: any = { ...initialValues }; if (resetValues.time && Array.isArray(resetValues.time)) { // resetValues.time.length === 0 ? resetValues.time = [] : resetValues.time = [moment(resetValues.time[0]), moment(resetValues.time[1])] if (resetValues.time.length === 0) { resetValues.time = null } else if (resetValues.time.length === 2) { resetValues.time = [moment(resetValues.time[0]), moment(resetValues.time[1])] } } else if (resetValues.time && !Array.isArray(resetValues.time)) { resetValues.time = moment(resetValues.time) } // 根据初始化值重置表单 form.setFieldsValue(resetValues); // 重置初始化 if (onSure) { const resetSureValues: any = { ...initialValues }; if (resetSureValues.time && Array.isArray(resetSureValues.time)) { if (resetSureValues.time.length === 0) { resetSureValues.time = null } else if (resetSureValues.time.length === 2) { resetSureValues.time = [FormatStart(resetSureValues.time[0]), FormatEnd(resetSureValues.time[1])] } // resetSureValues.time.length === 0 ? // resetSureValues.time = null : // resetSureValues.time = [FormatStart(resetSureValues.time[0]), FormatEnd(resetSureValues.time[1])] } else if (resetSureValues.time && !Array.isArray(resetSureValues.time)) { resetSureValues.time = FormatEnd(resetSureValues.time) } onSure(resetSureValues, 'reset'); } };