日期选择控件,时间跨度最大一年。

html 复制代码
     <el-date-picker v-model="times" type="daterange" unlink-panels :picker-options="pickerOptions" :range-separator="$lang('至')"
          :start-placeholder="$lang('开始')" :end-placeholder="$lang('结束')" :default-time="defaultTime" format="yyyy-MM-dd" value-format="yyyy-MM-dd">
        </el-date-picker>

data里的定义

javascript 复制代码
      pickValue: '', // 存放getOnPick函数返回的数据
      pickerOptions: {
        onPick: this.getOnPick,
        disabledDate: this.disabledDate,
        shortcuts: [{
          text: '最近一周',
          onClick(picker) {
            const end = new Date();
            const start = new Date();
            start.setTime(start.getTime() - 3600 * 1000 * 24 * 7);
            picker.$emit('pick', [start, end]);
          }
        }, {
          text: '最近一个月',
          onClick(picker) {
            const end = new Date();
            const start = new Date();
            start.setTime(start.getTime() - 3600 * 1000 * 24 * 30);
            picker.$emit('pick', [start, end]);
          }
        }, {
          text: '最近三个月',
          onClick(picker) {
            const end = new Date();
            const start = new Date();
            start.setTime(start.getTime() - 3600 * 1000 * 24 * 90);
            picker.$emit('pick', [start, end]);
          }
        }]
      },

methods

javascript 复制代码
    // 获取
    getOnPick(pick) {
      this.pickValue = pick;
    },
    // 超出范围禁止
    disabledDate(date) {
      const { minDate, maxDate } = this.pickValue;
      if (minDate && !maxDate) {
        const diff = Math.abs(minDate.valueOf() - date.valueOf());
        if (diff > 1000 * 3600 * 24 * 365) {
          return true;
        }
      }
    },

效果图:

相关推荐
Tyrvision14 分钟前
新品发布前,三维动画怎么排期才不挤在最后一周?
前端
miss23 分钟前
从零做一个可视化规则引擎:Vue3 递归条件树 + 双引擎结果对比
前端·vue.js·typescript
Daorigin_com24 分钟前
道本科技携手DeepSeek:以AI重塑合同全生命周期管理
前端·人工智能·科技·网络安全·数据挖掘·前端框架·传媒
flash俊杰25 分钟前
自动更新工程:electron-updater、差分更新、灰度发布与失败回滚
前端
fastjson_26 分钟前
帆软看板 - 问题收集
linux·前端·javascript
用户831348593069840 分钟前
Vue3 v-bind 使用指南,从基础到高阶
前端·javascript·vue.js
计算机魔术师41 分钟前
Anthropic冲刺2万亿IPO:一年亏420亿,还要再砸5180亿算力
前端
GISer_Jing43 分钟前
前端Agent架构师指南:从零搭建智能前端Agent
前端·ai·langchain
不停喝水1 小时前
【前端转全栈java速通课】 项目实战④-1 Spring Boot 创建项目-定义接口-请求参数处理-分层规范-依赖注入
java·前端·spring boot