element日期選擇器,時間範圍設定為一週,vue中的寫法

一隻冷狗發表於2020-11-26

1.首先引入外掛,我用的是
在這裡插入圖片描述

 <el-date-picker
          v-model="dateArr"
          value-format="yyyy-MM-dd"
          type="daterange"
          :clearable="false"
          range-separator="至"
          start-placeholder="開始日期"
          end-placeholder="結束日期"
          @change="changeDate"
  ></el-date-picker>

繫結了一個chenge事件。此事件需要在data中定義一個陣列。因為我們是兩個日期的選擇

data(){
	return{
		dataArr:[]
			}
	}

methods中寫入方法

 // 日期選擇器change事件
    changeDate() {
      // 獲取資料
       this.getWarningData();
}
 getWarningData() {
      deliveredApi
        .getWarningData({
          sTime: this.dateArr[0],
          eTime: this.dateArr[1],
 
        })

重點就是接下來的時間程式碼

getNewDate() {
      var date = new Date();
      // 獲取月日
      var month = date.getMonth() + 1;
      var strDate = date.getDate();
      if (month >= 1 && month <= 9) {
        month = "0" + month;
      }
      if (strDate >= 0 && strDate <= 9) {
        strDate = "0" + strDate;
      }
      // 拼接年月日
      var headerDate = date.getFullYear() + "-" + month + "-" + strDate;

      // 判斷是否是新的一天,是的話重新重新整理頁面
      if (this.headerDate !== undefined && this.headerDate !== headerDate) {
        // 是新的一天,重新整理頁面
        this.airportId = "";
        this.getWeekDate();
        setTimeout(() => {
          // 獲取資訊
          this.getWarningData();
        }, 500);
        // location.reload();
      }

      // 繫結到Date中
      this.headerDate = headerDate;
      // 獲取時分秒
      var h = date.getHours();
      h = h < 10 ? "0" + h : h;
      var minute = date.getMinutes();
      minute = minute < 10 ? "0" + minute : minute;
      var second = date.getSeconds();
      second = second < 10 ? "0" + second : second;

      // 拼接時分秒
      var headerTime = h + ":" + minute + ":" + second;
      // 繫結到Date中
      this.headerTime = headerTime;
    },
created中獲取日期,且需要重新整理
  created() {
    // 獲取當前日期
    this.getNewDate();
    // 獲取當前日期,每秒獲取一次
    setInterval(() => {
      this.getNewDate();
    }, 1000);
    // 獲取今天和七天前的日期
    this.getWeekDate();
  },

相關文章