el-datepicker 日期选择器弄成可以快捷选择最7天按天按周按月选择
时间: 2023-12-14 07:36:10 浏览: 131
可以使用 `el-date-picker` 的 `shortcuts` 属性来实现快捷选择最近7天、按天、按周、按月的功能。例如:
```html
<el-date-picker
v-model="date"
type="daterange"
:shortcuts="shortcuts"
:picker-options="pickerOptions"
></el-date-picker>
```
其中,`shortcuts` 是一个数组,每一个元素代表一个快捷选项。例如:
```js
data() {
return {
date: '',
pickerOptions: {
disabledDate(time) {
return time.getTime() > Date.now();
}
},
shortcuts: [{
text: '最近7天',
onClick(picker) {
const end = new Date();
const start = new Date();
start.setTime(start.getTime() - 3600 * 1000 * 24 * 6);
picker.$emit('pick', [start, end]);
}
}, {
text: '按天',
onClick(picker) {
const end = new Date();
const start = new Date();
start.setTime(start.getTime() - 3600 * 1000 * 24);
picker.$emit('pick', [start, end]);
}
}, {
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.setMonth(start.getMonth() - 1);
picker.$emit('pick', [start, end]);
}
}]
}
}
```
其中,`pickerOptions` 是用来设置日期选择器的选项,这里设置了禁用未来日期。`shortcuts` 数组中的每个元素都包含 `text` 和 `onClick` 两个属性,分别表示快捷选项的文本和点击事件。在点击快捷选项时,会触发对应的 `onClick` 事件,该事件可以通过 `picker.$emit('pick', [start, end])` 来设置日期选择器的值。
阅读全文