首页 > 其他分享 >vue 不同版本定义 el-date-picker 日期选择器快捷项

vue 不同版本定义 el-date-picker 日期选择器快捷项

时间:2023-04-15 16:12:23浏览次数:42  
标签:picker el end setHours start Date new 选择器

1、效果

2、vue 2

  • :picker-options
<el-date-picker
	style="width: 350px"
	v-model="dates"
	type="daterange"
	align="right"
	unlink-panels
	range-separator="至"
	start-placeholder="开始日期"
	end-placeholder="结束日期"
	:picker-options="pickerOptions"
	value-format="yyyy-MM-dd">
</el-date-picker>
pickerOptions: {
    shortcuts: [
        {
            text: '今天',
            onClick(picker) {
                let start = new Date()
                let end = new Date()
                start.setHours(0, 0, 0)
                end.setHours(23, 59, 59)
                picker.$emit('pick', [start, end]);
            }
        },
        {
            text: '昨天',
            onClick(picker) {
                let start = new Date()
                let end = new Date()
                start.setTime(start.getTime() - 3600 * 1000 * 24)
                end.setTime(end.getTime() - 3600 * 1000 * 24)
                start.setHours(0, 0, 0)
                end.setHours(23, 59, 59)
                picker.$emit('pick', [start, end]);
            }
        },
        {
            text: '近7天',
            onClick(picker) {
                let start = new Date()
                let end = new Date()
                start.setTime(start.getTime() - 3600 * 1000 * 24 * 7)
                end.setTime(end.getTime() - 3600 * 1000 * 24)
                start.setHours(0, 0, 0)
                end.setHours(23, 59, 59)
                picker.$emit('pick', [start, end]);
            }
        },
        {
            text: '近15天',
            onClick(picker) {
                let start = new Date()
                let end = new Date()
                start.setTime(start.getTime() - 3600 * 1000 * 24 * 15)
                end.setTime(end.getTime() - 3600 * 1000 * 24)
                start.setHours(0, 0, 0)
                end.setHours(23, 59, 59)
                picker.$emit('pick', [start, end]);
            }
        },
        {
            text: '近30天',
            onClick(picker) {
                let start = new Date()
                let end = new Date()
                start.setTime(start.getTime() - 3600 * 1000 * 24 * 30)
                end.setTime(end.getTime() - 3600 * 1000 * 24)
                start.setHours(0, 0, 0)
                end.setHours(23, 59, 59)
                picker.$emit('pick', [start, end]);
            }
        },
        {
            text: '近3月',
            onClick(picker) {
                let start = new Date()
                let end = new Date()
                start.setTime(start.getTime() - 3600 * 1000 * 24 * 90)
                end.setTime(end.getTime() - 3600 * 1000 * 24)
                start.setHours(0, 0, 0)
                end.setHours(23, 59, 59)
                picker.$emit('pick', [start, end]);
            }
        },
    ]
}

3、vue 3

  • :shortcuts
<el-date-picker
	style="width: 350px"
	v-model="dates"
	type="daterange"
	align="right"
	unlink-panels
	range-separator="至"
	start-placeholder="开始日期"
	end-placeholder="结束日期"
	:shortcuts="shortcuts"
	value-format="yyyy-MM-dd">
</el-date-picker>
shortcuts: [
    {
        text: '今天',
        onClick(picker) {
            let start = new Date()
            let end = new Date()
            start.setHours(0, 0, 0)
            end.setHours(23, 59, 59)
            picker.$emit('pick', [start, end]);
        }
    },
    {
        text: '昨天',
        onClick(picker) {
            let start = new Date()
            let end = new Date()
            start.setTime(start.getTime() - 3600 * 1000 * 24)
            end.setTime(end.getTime() - 3600 * 1000 * 24)
            start.setHours(0, 0, 0)
            end.setHours(23, 59, 59)
            picker.$emit('pick', [start, end]);
        }
    },
    {
        text: '近7天',
        onClick(picker) {
            let start = new Date()
            let end = new Date()
            start.setTime(start.getTime() - 3600 * 1000 * 24 * 7)
            end.setTime(end.getTime() - 3600 * 1000 * 24)
            start.setHours(0, 0, 0)
            end.setHours(23, 59, 59)
            picker.$emit('pick', [start, end]);
        }
    },
    {
        text: '近15天',
        onClick(picker) {
            let start = new Date()
            let end = new Date()
            start.setTime(start.getTime() - 3600 * 1000 * 24 * 15)
            end.setTime(end.getTime() - 3600 * 1000 * 24)
            start.setHours(0, 0, 0)
            end.setHours(23, 59, 59)
            picker.$emit('pick', [start, end]);
        }
    },
    {
        text: '近30天',
        onClick(picker) {
            let start = new Date()
            let end = new Date()
            start.setTime(start.getTime() - 3600 * 1000 * 24 * 30)
            end.setTime(end.getTime() - 3600 * 1000 * 24)
            start.setHours(0, 0, 0)
            end.setHours(23, 59, 59)
            picker.$emit('pick', [start, end]);
        }
    },
    {
        text: '近3月',
        onClick(picker) {
            let start = new Date()
            let end = new Date()
            start.setTime(start.getTime() - 3600 * 1000 * 24 * 90)
            end.setTime(end.getTime() - 3600 * 1000 * 24)
            start.setHours(0, 0, 0)
            end.setHours(23, 59, 59)
            picker.$emit('pick', [start, end]);
        }
    },
]

标签:picker,el,end,setHours,start,Date,new,选择器
From: https://www.cnblogs.com/pine007/p/17321295.html

相关文章

  • CentOS Linux release 7.9.2009 (Core)
    #####################今天给10年的机器重装了CentOSLinuxrelease7.9.2009(Core)  systemctlset-defaultmulti-user.target   [root@a8-cloud-dba-db08~]#cat/etc/yum.repos.d/CentOS-Base.repo#CentOS-Base.repo##Themirrorsystemusestheco......
  • 27-组合逻辑集成电路-数据选择器
    数据选择器1.数据选择器数据选择器:多路信号进来,出去的路只有一条,通过一个开关控制,多路选一路(多选1)数据分配器:一路信号进入,在多路输出中选择一路进行输出二选一,通过一个开关进行控制,书写选择器表达式的时候,表达式的每一项用开关变量组合*信号四选一,用两个控制变量进行控制......
  • delphi FastReport 从流(数据库)中加载和保存报表
    FastReport从流(数据库)中加载和保存报表属性和方法TfrxReport.LoadFromStreamprocedureLoadFromStream(Stream:TStream);从流中加载报表。参数Stream来源流。TfrxReport.SaveToStreamprocedureSaveToStream(Stream:TStream);将报表保存到流中。参数Stream来源......
  • modelform搜索框的实现
    1.前端{%extends'utils.html'%}{%blockcontent%}<divclass="container"><divclass="panelpanel-default"><divclass="panel-heading"><h3class=&quo......
  • Java MyBatis-Plus(4)MybatisPlus整合Pagehelper实现分页
    序言 /***pageInfo对象中属性含义*privateintpageNum;//当前页码*privateintpageSize;//设置每页多少条数据*privateintsize;//当前页有多少条数据*privateintstartRow;//当前页码第一条数据的*privateintendRow;//......
  • shell命令--字符串截取
    shell截取字符串通常有两种方式:截取指定长度的字符串和截取指定模式的字符串。1.截取指定长度的字符串这种方式除了需要指定起始位置还需要指定截取长度。按起始位置可以分为从左边开始或者从右边开始。a.从左边开始截取${string:start:length}其中,string是要截取的字符......
  • Delphi FDMemTable内存表用法及简单操作函数封装(转)
    在某些场景下当轻量级的应用需要在内存中缓存数量比较多且字段比较多的高频使用数据时。以前我都是采用Ini或直接使用sqlite数据库。JSON也试过基本无法或很难实现需要的功能,因为当涉及某一同类型对象多字段多列时不通过遍历基本无法直接取到或修改数据。这样就导致了效率的低下。......
  • Semantic Kernel 入门系列:
    当我们使用NativeFunction的时候,除了处理一些基本的逻辑操作之外,更多的还是需要进行外部数据源和服务的对接,要么是获取相关的数据,要么是保存输出结果。这一过程在SemanticKernel中可以被归类为Connector。Connector更像是一种设计模式,并不像Function和Memory一样有强制和明确......
  • Linux基本功系列-help命令
    1.help命令介绍help命令用于显示shell内部命令的帮助信息。help命令只能显示shell内部命令的帮助信息,而linux系统中绝大多数命令是外部命令,所以help命令的作用非常有限。而对于外部命令的帮助信息可以使man命令或者info命令查看。help命令可以放在命令前面,也可以放在命令后面,比如e......
  • shell命令--重定向
    0.从终端输入一个命令时,通常会将该命令的结果输出到终端。例如,在终端执行 pwd 命令会在屏幕上显示当前目录:#pwd/root大多数UNIX系统中,命令通常从一个叫标准输入的地方读取输入。同样,命令通常将其输出写入到标准输出。标准输入和标准输出默认情况下都是终端。那如果想......