vue项目,el-date-picker日期组件默认显示当前日期前一周,未来日期不可选择设置

应项目需求要分别设置开始日期和结束日期,且未来日期不可选择,实现代码如下:

1.template内容

    <el-row style="margin: 20px 0px">
        <el-date-picker v-model="startValue" type="datetime" 
        :picker-options="pickerOptions" placeholder="请选择开始时间">
        </el-date-picker>
        <el-date-picker v-model="endValue" type="datetime" 
        :picker-options="pickerOptions" placeholder="请选择截止时间">
        </el-date-picker>
        <el-button type="primary" @click="get(); getWeek();getUsageRate()">
        获取数据
        </el-button>
    </el-row>

2.script内容

<script>
export default {
    data() {
        return {
          startValue: this.setDateTime(this.subtractDays(new Date(), 7), 0, 0, 0),//默认日期
          endValue: this.setDateTime(this.subtractDays(new Date(), 1), 23, 59, 59),//前六天
          //禁止选择未来日期
          pickerOptions: {
              disabledDate(time) {
                  return time.getTime() > Date.now();
              },
          },
       }
    },
    methods: {
        subtractDays(date, days) {
          // 返回给定日期的前几天的日期
          const result = new Date(date.getTime());
          result.setDate(result.getDate() - days);
          return result;
        },
        setDateTime(date, hours, minutes, seconds) {
          // 设置日期对象的小时、分钟和秒
          date.setHours(hours, minutes, seconds, 0); // 设置秒和毫秒为0
          return date;
        }

    }

}
    

3.实现效果是这样

问题总结,欢迎交流

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值