今天使用element ui中回显时一直2-01-01类似于这种无效的时间,后来发现是因为使用new Data处理后端返回过来的数据的时候:
如果字符串为空,就会出现Invalid data。
在不能保证时间一定有值的情况下,前端就需要对接收过来的数据进行处理。
因为用的地方比较多我就把它封装到了一个文件中,所有的组件用到的直接引用方法即可:
/**
* 处理时间
* @param data: 传递时间(string)
* 返回处理过的时间格式
*/
export function changeData(data) {
return data ? new Date(data.replace(/-/g, '/')) : ''
}
首先需要替换字符串格式,ie浏览器对 ‘yyyy-MM-dd HH:mm:ss’ 这种格式的字符串new Data会出现问题,需要将-转换为/,
然后三位运算符如果为空直接不返回无效的时间,返回空字符串就可以了。
完美的解决了问题。