最近在写项目中因为用的是 Ant Design Pro中的日期选择器(DatePicker),它给我的数据格式是Dayjs向接口传输也没有问题,但是回显的时候问题就来了,接口返回的如:2023-04-27但是呢,它这个组件并不识别,会报错搞了半天才发现,要的格式不一样。
Dayjs官网:Node.js · Day.js
想要扩展一下的可以看看,不想的话直接安装:
npm install dayjs
最关键的来了:引入
import dayjs from 'dayjs';
import customParseFormat from 'dayjsugin/customParseFormat';
声明转换格式:
const dateFormat = 'YYYY/MM/DD';
接口返回别的格式的话,可以参考:
然后是在代码里面的显示:
//这里我的编辑和添加是一体的所以加一个三元,为1代表添加
{datatime === 1 ? (
<DatePicker
showTime
//birth是接口返回的数据(看清楚了不是births)
onChange={births}
onOk={onOkss}
defaultValue={null}
format={dateFormat}
/>
) : (
<DatePicker
showTime
onChange={births}
onOk={onOkss}
defaultValue={dayjs(birth, dateFormat)}
format={dateFormat}
/>
)}
效果: