
正文
elementUI 时间选择器,时间选择快捷键
提示:扫一扫查出行【扫一扫了解最新限行尾号】
复制提示

elementUI的时间快捷键,使用属性:picker-options="pickerOptions",由于pickerOptions的定义很长,也在其他地方共用,因此建议提取出来在公用文件定义,再在页面直接引用。
1、定义元素
<el-date-picker
style="width: 440px;"
v-model="timeQuery"
type="datetimerange"
popper-class="myDatePickerCls"
:clearable=false
:picker-options="pickerOptions"
@change="handleClearFilter('timeQuery')"
range-separator="至"
start-placeholder="开始日期"
end-placeholder="结束日期"
align="right">
</el-date-picker>
2、再外部定义一个js文件,并定义快捷键的方法:
// 搜索时间下拉框,快捷键
export const pickerOptionsTimeEle = [{
text: '今天(此刻)',
onClick(picker) {
const end = new Date();
end.setTime(end.getTime());
end.setHours(end.getHours());
end.setMinutes(end.getMinutes());
end.setSeconds(end.getSeconds());
const start = new Date();
start.setTime(start.getTime());
start.setHours(0);start.setMinutes(0);start.setSeconds(0);
picker.$emit('pick', [start, end]);
}
},
{
text: '昨天',
onClick(picker) {
const end = new Date();
end.setTime(end.getTime() - 3600 * 1000 * 24 * 1);
end.setHours(23);end.setMinutes(59);end.setSeconds(59);
const start = new Date();
start.setTime(start.getTime() - 3600 * 1000 * 24 * 1);
start.setHours(0);start.setMinutes(0);start.setSeconds(0);
picker.$emit('pick', [start, end]);
}
},
{
text: '最近一周',
onClick(picker) {
const end = new Date();
end.setHours(23);end.setMinutes(59);end.setSeconds(59);
const start = new Date();
start.setTime(start.getTime() - 3600 * 1000 * 24 * 6);
start.setHours(0);start.setMinutes(0);start.setSeconds(0);
picker.$emit('pick', [start, end]);
}
},
{
text: '最近30天',
onClick(picker) {
const end = new Date();
end.setHours(23);end.setMinutes(59);end.setSeconds(59);
const start = new Date();
start.setHours(0);start.setMinutes(0);start.setSeconds(0);
start.setTime(start.getTime() - 3600 * 1000 * 24 * 29);
picker.$emit('pick', [start, end]);
}
},
{
text: '最近90天',
onClick(picker) {
const end = new Date();
end.setHours(23);end.setMinutes(59);end.setSeconds(59);
const start = new Date();
start.setHours(0);start.setMinutes(0);start.setSeconds(0);
start.setTime(start.getTime() - 3600 * 1000 * 24 * 90);
picker.$emit('pick', [start, end]);
}
}]
3、在页面引入并调用
import {pickerOptionsTimeEle} from 'utils/pageComAction';// 在data处:
data() {
return {
pickerOptions: {
shortcuts: pickerOptionsTimeEle
}
}
}







