el-date-picker日期范围设置选择区间
el-date-picker组件type=”daterange” 选择日期范围的时候需要设置一个区间,官方api没直接提供参数,这个时候需要通过组件Picker Options来实现。
代码
用到了onPick(选中日期后会执行的回调,只有当 daterange 或 datetimerange 才生效) 和 disabledDate(设置禁用状态,参数为当前日期,要求返回 Boolean ), onPick触发就代表选中了第一个日期,根据第一个日期算出来选择范围。disabledDate 根据范围禁用不可选日期。
| 12
 3
 4
 5
 6
 7
 8
 9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 
 | data() {return {
 daterange: {
 maxTime: "",
 minTime: "",
 max: 30,
 },
 pickerOptions: {
 onPick: time => {
 
 if (!time.maxDate) {
 
 let timeRange = this.daterange.max * 24 * 60 * 60 * 1000;
 
 this.daterange.minTime = time.minDate.getTime() - timeRange;
 this.daterange.maxTime = time.minDate.getTime() + timeRange;
 } else {
 
 this.daterange.maxTime = "";
 this.daterange.minTime = "";
 }
 },
 disabledDate: time => {
 
 if (this.daterange.minTime && this.daterange.maxTime) {
 return (
 time.getTime() < this.daterange.minTime ||
 time.getTime() > this.daterange.maxTime
 );
 }
 }
 }
 }
 }
 
 | 
demo地址