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

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

效果图:

相关推荐
carterwu2 分钟前
各个大厂是怎么实现组件库和相应扩展的?基础组件、区块、页面
前端
Face3 分钟前
promise 规范应用
前端
Mintopia3 分钟前
Node.js 中 fs.readFile API 的使用详解
前端·javascript·node.js
Face5 分钟前
事件循环
前端·javascript
ONE_Gua6 分钟前
chromium魔改——navigator.webdriver 检测
前端·后端·爬虫
CodePencil7 分钟前
CSS专题之盒模型
前端·css
谦谦橘子7 分钟前
服务端渲染原理解析
前端·javascript·react.js
carterwu7 分钟前
umi+模块联邦-配置指南
前端
Mintopia8 分钟前
深入理解 Three.js 中的 PerspectiveCamera
前端·javascript·three.js
ElasticPDF-新国产PDF编辑器12 分钟前
Vue use pdf.js and Elasticpdf tutorial
vue.js·pdf