Uncaught TypeError: date.clone is not a function 【報錯解決】


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

  


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM