问题描述:
真是日了狗了
目前在做一个后台管理的项目,祖传代码,React+ts+antd
一个后台管理用vue多好
这还算了,用的antd的版本是3.xxx,现在官网都更新到5.xx的版本了
喔一开始接手项目的时候,我就先升级了下antd
好家伙,一堆报错,这怎么敢改,没那么多时间
于是干净回退到3.xx的版本,版本差异还是很大的
现在遇到的问题是,一个日期选择器,增加数据的时候,就是直接选择,编辑、查看数据的时候,就要给日期选择器直接赋值,后端返回的数据格式是 2023-12-29。这样的,报错了:
翻译:DatePicker或MonthPicker的值/defaultValue必须是’ [email protected] '后面的moment对象
datepicker只支持moment类型,表单获取数据是string类型引起报错
解决方法
安装moment
npm i moment --save-dev
import moment from 'moment'
this.props.getFundNoticeDetail(record.id).then(res => {
if (res.code === 0) {
const reportDateMoment = moment(res.data.reportDate, 'YYYY-MM-DD')
this.setState({
rowData: {
...res.data,
reportDate: reportDateMoment
},
modalVisible: true,
onlyRead: true,
title: '查看基金公告',
})
}
})
不能直接赋值为字符串,要用moment包一下
好,我以为到这就好了,没想到喔测试下
赋值是好了的 特么现在选择日期的时候又不行了
原代码是这样:
修改为:
完事!!!!!