54.Vue+elementUI日期时间范围选择器左侧添加快捷选项

前言:

官网上只有最近一周、最近一个月和最近三个月快捷选项,但项目有要求,需要换成最近10分钟、最近30分钟、最近一小时、最近一天和最近一周,找了一些资料,写好了记录一下,以便下次使用。

1.首先是日期时间范围控件(change事件和pickerOptions里的getTime方法和官网类似就不写了)

<el-form-item label="操作时间">
    <el-date-picker
        v-model="selectForm.exec_time"
        type="datetimerange"
        align="right"
        unlink-panels
        start-placeholder="开始时间"
        end-placeholder="结束时间"
        size="small"
        @change="getMountimes"
        :picker-options="pickerOptions"
        ></el-date-picker>
</el-form-item>

2.接下来就写一下pickerOptions对象里的改写代码: 

(newTimeNyrHour1 是filters文件中返回当前时间的正确格式的方法)

pickerOptions:{
    shortcuts:[
        {
            text:'最近10分钟',
            onClick(picker){
                var date = new Date()
                var min = date.getMinutes()
                date.setMinutes(min-10)
                date.setMilliseconds(0)
                let date1 = new Date()
                date1.setMilliseconds(0)
                picker.$emit('pick',[newTimeNyrHour1(date),newTimeNyrHour1(date1)])
            }
        },
        {
            text:'最近30分钟',
            onClick(picker){
                var date = new Date()
                var min = date.getMinutes()
                date.setMinutes(min-30)
                date.setMilliseconds(0)
                let date1 = new Date()
                date1.setMilliseconds(0)
                picker.$emit('pick',[newTimeNyrHour1(date),newTimeNyrHour1(date1)])
            }
        },
        {
            text:'最近一小时',
            onClick(picker){
                var date = new Date()
                var min = date.getMinutes()
                date.setMinutes(min-60)
                date.setMilliseconds(0)
                let date1 = new Date()
                date1.setMilliseconds(0)
                picker.$emit('pick',[newTimeNyrHour1(date),newTimeNyrHour1(date1)])
            }
        },
        {
            text:'最近一天',
            onClick(picker){
                var date = new Date()
                var min = date.getMinutes()
                date.setMinutes(min-1440)
                date.setMilliseconds(0)
                let date1 = new Date()
                date1.setMilliseconds(0)
                picker.$emit('pick',[newTimeNyrHour1(date),newTimeNyrHour1(date1)])
            }
        },
        {
            text:'最近一周',
            onClick(picker){
                const end = new Date()
                const start = new Date()
                start.setTime(start.getTime()-3600*1000*24*7)
                picker.$emit('pick',[newTimeNyrHour1(date),newTimeNyrHour1(date1)])
            }
        },
    ]
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值