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

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;
        }
      }
    },

效果图:

相关推荐
一个专注api接口开发的小白16 分钟前
Python/Node.js 调用taobao API:构建实时商品详情数据采集服务
前端·数据挖掘·api
掘金一周23 分钟前
我开源了一款 Canvas “瑞士军刀”,十几种“特效与工具”开箱即用 | 掘金一周 8.14
前端·人工智能·后端
嘘不要声张32 分钟前
地图点聚合(谷歌)
前端
缉毒英雄祁同伟39 分钟前
企业级WEB应用服务器TOMCAT
java·前端·tomcat
har01d39 分钟前
在 uniapp 里使用 unocss,vue3 + vite 项目
前端·uni-app·vue·uniapp·unocss
OLong1 小时前
React Update Queue 源码全链路解析:从 setState 到 DOM 更新
前端·react.js
知识浅谈1 小时前
OpenLayers与Vue.js结合实现前端地图应用
前端
paopaokaka_luck1 小时前
校园快递小程序(腾讯地图API、二维码识别、Echarts图形化分析)
vue.js·spring boot·后端·小程序·uni-app
掘金011 小时前
Vue3 项目中实现特定页面离开提示保存功能方案
javascript·vue.js
答案answer1 小时前
three.js 实现几个好看的文本内容效果
前端·webgl·three.js