element 日期选择器数据更改,第一次进入页面,页面上没有回显(数据格式问题导致)

导读:本篇文章讲解 element 日期选择器数据更改,第一次进入页面,页面上没有回显(数据格式问题导致),希望对大家有帮助,欢迎收藏,转发!站点地址:www.bmabk.com

在这里插入图片描述
在这里插入图片描述

需求

页面列表数据,默认是展示一个月的数据

遇到的问题

一进来页面,日期选择器上是空的,但绑定的值是有数据的,页面上并没正确回显,但是去手动选择日期,也是可以正常回显的

思考

其实,选择日期后,如果提交更改会发现日期其实已经修改成功了,只是修改后的数据在提交更改前,他的显示是有问题的。所以初步的结论是,数据视图没有得到更新

于是

用了$set(),强制更新
可以新增属性,又可以触发视图更新。

//错误写法:
this.$set(key,value)(ps: 可能是vue1.0的写法)
//正确写法:
this.$set(this.data,”key”,value') 
this.$set(this.crud.query, "updateDate", [this.time[0], this.time[1]])

强制更新后发现,一进页面,数据是有的但是日期选择器上还是空的 ,没有正确回显

最后

开始观察 第一次进来的数据格式和第二次手动选择的数据格式是否一致

第一次进来默认一月时间的数据格式
在这里插入图片描述
第二次手动选择
在这里插入图片描述
果然发现,第一次默认一个月时间格式 是到 ,而第二次是到 ,所以默认一个月的时间 有数据,但页面不展示是格式有问题。 因为后端不需要到秒的数据,所以 统一加了时间格式 到 就可以正常显示啦
在这里插入图片描述

完整代码

  <div>
            <date-range-picker
              v-model="query.updateDate"
              class="date-item"
              :start-placeholder="$t('NeoLight.startTime')"
              :end-placeholder="$t('NeoLight.endTime')"
              @change="getTimeDate()"
              value-format="yyyy-MM-dd"
            />
 </div>
 mounted() {
    this.getTimeFn()
    this.getTimeDate();
  },
   methods: {
    getTimeDate() {
      this.crud.toQuery();
    },
    getTimeFn() {
      const that = this;
      const end = new Date();
      const start = new Date();
      start.setMonth(start.getMonth() - 1);
      var thirtyYear = start.getFullYear();
      var thirtyMonth = start.getMonth() + 1;
      var thirtyDay = start.getDate();
      if (thirtyMonth >= 1 && thirtyMonth <= 9) {
        thirtyMonth = "0" + thirtyMonth;
      }
      if (thirtyDay >= 1 && thirtyDay <= 9) {
        thirtyDay = "0" + thirtyDay;
      }
      var monthDate = thirtyYear + "-" + thirtyMonth + "-" + thirtyDay;
      this.crud.query.updateDate[0] = monthDate;
      this.crud.query.updateDate[1] = that.$formatTime.formatDate(end);
    },
 }   

正确显示

在这里插入图片描述

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/79148.html

(0)
小半的头像小半

相关推荐

极客之音——专业性很强的中文编程技术网站,欢迎收藏到浏览器,订阅我们!