element日期选择器,时间范围设置为一周,vue中的写法

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();
  },
  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要将Element日期选择器的可选日期范围限制为开始时间后一年内,可以使用`picker-options`属性并设置`disabledDate`选项来实现。以下是一个可以实现此功能的例子: ```vue <template> <div> <el-date-picker v-model="startDate" type="date" placeholder="选择开始日期" :picker-options="startPickerOptions"> </el-date-picker> <el-date-picker v-model="endDate" type="date" placeholder="选择结束日期" :picker-options="endPickerOptions"> </el-date-picker> </div> </template> <script> export default { data() { return { startDate: '', endDate: '', startPickerOptions: { disabledDate: (time) => { if (this.endDate) { // 如果结束日期存在,开始日期不能晚于结束日期 return time.getTime() > this.endDate.getTime() } else { // 开始日期不能晚于当前日期后一年 const maxDate = new Date() maxDate.setFullYear(maxDate.getFullYear() + 1) return time.getTime() > maxDate.getTime() } } }, endPickerOptions: { disabledDate: (time) => { if (this.startDate) { // 如果开始日期存在,结束日期不能早于开始日期 return time.getTime() < this.startDate.getTime() } else { // 结束日期不能早于当前日期 return time.getTime() < Date.now() } } } } } } </script> ``` 在上面的代码,使用了两个日期选择器分别用于选择开始日期和结束日期。对于开始日期选择器,通过设置`disabledDate`选项来禁用晚于结束日期和超过一年后的日期。对于结束日期选择器,通过设置`disabledDate`选项来禁用早于开始日期和早于当前日期日期。 注意,在这个例子,我们使用了`Date`对象的`getTime()`方法来比较日期。`getTime()`方法返回一个表示日期时间戳,可以用来比较两个日期的先后顺序。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值