美文网首页
初始化el-date-picker数据遇到的坑

初始化el-date-picker数据遇到的坑

作者: GaoXiaoGao | 来源:发表于2021-03-02 17:27 被阅读0次

1.先说一个没问题的初始化方法

在data(){}中初始化el-date-picker的初始数据是可以成功初始化的

clnxDate:["2021-04-05 00:00:00", "2021-04-06 00:00:00"]

2.问题出现的步骤

将数据保存在sessionStorage中,再次回到页面的时候,从sessionStorage中取出数据,并设置到
clnxDate中,现象是el-date-picker的数据并没有初始化而是完全空的

        let startDate = sessionStorage.getItem('startDate');
        let endDate = sessionStorage.getItem('endDate');

        if(startDate && endDate){
          this.clnxDate = [startDate,endDate];
          //数据一直在控件中无法初始化
        }else {
          this.clnxDate = [];
        }

3.解决方法如下

        let startDate = sessionStorage.getItem('startDate');
        let endDate = sessionStorage.getItem('endDate');

        if(startDate && endDate){
          this.clnxDate = [startDate,endDate];
          this.$set(form, "expireTime", this.clnxDate);
        }else {
          this.clnxDate = [];
        }

具体原因是:
原理:受 ES5 的限制,Vue.js 不能检测到对象属性的添加或删除。因为 Vue.js 在初始化实例时将属性转为 getter/setter,所以属性必须在 data 对象上才能让 Vue.js 转换它,才能让它是响应的。
要处理这种情况,我们可以使用$set()方法,既可以新增属性,又可以触发视图更新。

我也是参考了以下网友的方法才解决的,感谢呦释原点!!
参考 https://www.jianshu.com/p/96c822d14d30

相关文章

网友评论

      本文标题:初始化el-date-picker数据遇到的坑

      本文链接:https://www.haomeiwen.com/subject/ogdxqltx.html