美文网首页
初始化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