直接记录吧
原因很简单: 回显从后端传过来的日期要么是时间戳 要么是正常日期 而选择日期的控件的日期格式显示的不是这种 是中国标准日期 所以就是说日期格式不对 导致不回显
解决方法: a-range-picker里面选中的时间默认是moment对象,所以要想将时间字符串回显在选择框中,必须先将得到的"2021-04-24 13:34:28"转换成moment形式。
1.安装moment.js

npm install moment --save

2.引入要转换的页面

import moment from “moment”;

3.可以直接使用了,如果拿到是时间戳可以处理好数据然后直接赋值就解决了

this.modelForm.time = [moment(this.modelForm.startTime), moment(this.modelForm.expireTime)];
//需要回显的数据

然后又出现问题了 虽然格式得到了解决 但是发现更改根本没有用 其实数据是变了的 只是页面没显示
遇到这种问题直接用this.$set()传值就可以了

this. s e t ( t h i s . m o d e l F o r m , " t i m e " , [ m o m e n t ( t h i s . m o d e l F o r m . s t a r t T i m e ) , m o m e n t ( t h i s . m o d e l F o r m . e x p i r e T i m e ) ] ) t h i s . set(this.modelForm, "time", [moment(this.modelForm.startTime), moment(this.modelForm.expireTime)]) this. set(this.modelForm,"time",[moment(this.modelForm.startTime),moment(this.modelForm.expireTime)])this.set(原数组, 索引值, 需要赋的值)

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐