沒有技術收獲,只是記錄一下這個報錯是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'); } };