在进行日期类型的数据回填时,我直接以字符串的类型进行回填,是能够成功的。再在表单提交的时候对数据类型进行判断,如果是字符串类型就直接传,如果是对象就处理成字符串再传。
params.endDate =
typeof values.endDate === "string"
? values.endDate + " " + endTime
: values.endDate.format("YYYY-MM-DD") + " " + endTime
在需要精确到时分的场景,使用antd的timepicker组件,发现不能直接以字符串回填了,会显示Invalid Value。后引入moment.js对字符串进行格式化后能够成功回显数据。
let startTime = this.$moment(start[1], "HH:mm")
看了antdv的官方文档,不论是datepicker还是timepicker,值都是moment类型
因此我之前日期回填字符串是不规范的,应该和时间一样先格式化后再回填,也省去了后面判断类型的步骤。