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');
  }
};

  

posted @ 2021-07-05 18:02  芝麻小仙女  阅读(3381)  评论(0编辑  收藏  举报