在作某个项目的过程当中,系统要求兼容safari,在使用Element-ui状况下,用到了datepicker组件,可是datepicker在type为daterange状况下,页面首次加载给日期组件赋初值,可是变量是有值,视图没有展现出来。
因而在解决这个问题的过程当中,我在github上找到了初步的解决办法:https://github.com/kenberkeley/fix-date。
引入fix-date这个模块,可能仍是有点问题。git
由于本身开发环境不是Mac,因此没有safari浏览器。以前一直觉得是Element-ui日期组件自己的问题,其实并非。问题出在safari浏览器上,对于new Date()
,这个方法所接受的参数,不能是'2019-02-27 23:59:59'
格式,还有些不兼容的格式,你们能够有空本身在safari浏览器下试验下。因此在使用new Date('2019-2-27 23:59:59')
致使自己解析出来的是NaN-NaN-NaN NaN:NaN:NaN
,因此Element-ui日期组件上才不会显值。改了以后,发现日期组件仍是没有显示出来。结果是由于传给日期组件的日期格式也有必定的问题。不能传递'2019-2-27 23:59:59',能够参考value4: [new Date(2000, 10, 10, 10, 10), new Date(2000, 10, 11, 10, 10)],element-ui官网的赋值方式来赋值。这时候就没什么问题。github
https://github.com/kenberkeley/fix-date/blob/master/README.md
按照这个地址上面的方法使用,即可以解决。(有可能针对某些版本的safari浏览器可能无效)npm
对于new Date('2019-02-27 23:59:59')这种格式,safari不兼容,因此要将xxxx-xx-xx的时间格式,转换为 xxxx/xx/xx的格式 。element-ui
'2019-02-27 23:59:59'.replace(/-/g,'/'))
对于初始化日期组件,没有显示的问题,解决参考element-ui官网的方式:浏览器
value4: [new Date(2000, 10, 10, 10, 10), new Date(2000, 10, 11, 10, 10)]