在react中我们在表单组件中使用DatePicker组件来提交时间日期,如果对提交的数据不做处理,那么提交到后台数据库中的内容就是一个moment格式的对象,如何将moment格式的数据转换为“年-月-日”的格式?
首先我们定义一个函数format
const format=(value: any)=>{
return moment(value).format('yyyy-MM-DD')//将时间格式转成yyyy-MM-DD
}
注意如果要使用form和moment方法需要在moment中引入
import moment from 'moment';
然后将表单中的数据进行处理
const onFinish = (values: any) => {
if(values.Time){
values.Time=format(values.Time)
}
setVisible(false);
dispatch({
type: '这里写接口',
payload: values,//这里是表单的值
}).then((datas: any) => {
console.log('Success:', values);
};
然后 将onFinish方法写到from组件里面
<Form onFinish={onFinish}>
<Form.Item
name="Time"
label = '时间'
rules={[{ required: true, }]}
initialValue={moment()} //提交的默认值是当天的
>
<DatePicker
defaultValue={moment()}//显示的默认值是当天的
/>
</Form.Item>
</Form>
然后我们在控制台就可以看到时间变成了:Time: "2022-07-26"