何开此题

我是一个码农,缘起就是这次需求遇到了之前实现过的功能细节,不想再从头翻组件文档实现一遍,最好是直接拷贝粘贴。

细节

picker-options 设定规则:时间范围最大可选择30天, 最晚时间为今天。

element-ui 的日期选择器的组件是 el-date-picker.

设定 pickerOptions2,

  data() {    return {      pickerOptions2: {        disabledDate: theDate => {          const oneDay = 3600 * 1000 * 24          const current = theDate.getTime()          const now = Date.now()          const condition1 = current > now          if (!this.minDateTimestamp) return condition1          const pickerRangeNum = 30          // 时间范围最大可选择30天,最晚时间为今天          const lastMonthBegin = this.minDateTimestamp          const lastMonthEnd = lastMonthBegin + pickerRangeNum * oneDay          return (            condition1 || current < lastMonthBegin || current > lastMonthEnd          )        },        onPick: ({ maxDate, minDate }) => {          this.minDateTimestamp = minDate.getTime()          if (maxDate) {            this.minDateTimestamp = 0          }        },      },    }  },

模板的设定,

<template><el-date-picker  class="form-item-control"  v-model="qo2.dateRange2"  type="daterange"  range-separator=" 至 "  start-placeholder="开始日期"  end-placeholder="结束日期"  placeholder="请选择时间段"  :picker-options="pickerOptions2"/></template>

总结

element-ui 动态限定的日期范围选择器,再回首,不用愁。