首页 > 其他分享 >el-date-picker 限制时间范围 picker-options 传参

el-date-picker 限制时间范围 picker-options 传参

时间:2023-12-13 17:34:35浏览次数:40  
标签:picker el const startDate return date endDate

需求

el-date-picker 限制时间范围的选取,不能超过某个区间 [startDate, endDate]

image
image

问题在于,disabledDate 函数的参数默认是 time,无法传递自定义参数 [startDate, endDate]

分析

传递给 picker-options 的值只能是对象。无法传递单个对象,但是可以传递一个返回对象的函数。

解决

template 代码
                  <el-date-picker
                    v-if="item.dataType === 'date'"
                    v-model="form[item.tag]"
                    type="daterange"
                    range-separator="至"
                    start-placeholder="开始日期"
                    end-placeholder="结束日期"
                    value-format="yyyy-MM-dd"
                    :picker-options="pickerOptions(item.attributeScope)"
                  />
data 中返回
	// 也可以在 data 中初始化 {},然后在 created 中重新赋值
      pickerOptions: function (scopeStr) {
        const flag = Boolean(scopeStr);
        return {
          disabledDate(time) {
            if (!flag) {
              return false;
            } else {
              const scope = JSON.parse(scopeStr);
              const startDate = new Date(scope[0]).getTime();
              const endDate = new Date(scope[1]).getTime();
              const selectDate = time.getTime();
              if (selectDate > startDate - 8.64e7 && selectDate < endDate) {
                return false;
              } else {
                // 禁用超出 [startDate, endDate] 部分的日期
                return true;
              }
            }
          },
        };
      },

参考链接

  1. elementui 时间日期选择器限制支持传参
  2. el-date-picker日期选择器时间选择范围限制
  3. ElementUI日期选择器DatePicker限制所选时间范围(例如限制前后时长不超一个月)的实现
  4. JS日期时间比较大小

标签:picker,el,const,startDate,return,date,endDate
From: https://www.cnblogs.com/shayloyuki/p/17899534.html

相关文章

  • excel 速成
     【文本】:查找、替换、截取、拼接数字:加、减、乘、除、保留小数位数【日期】:日期加减、时分秒加减【逻辑】:if、and、or、not【异常】:对计算过程中产生的错误进行处理,如:1/0,N/A【分组聚合】:无条件聚合,有条件聚合、最大值、最小值 1.if(and/or/not)2. iferror()3. text(......
  • 使用element 2.14 实现表格虚拟滚动组件
    下述代码为组件实现代码复制即可食用,默认只展示一屏数据加两条全选存在些许问题,使用row-key时,如果行过多滚动时会不会很流畅特别需要注意的是行高必须要保持一致<template><divclass="t-table":id="TTableId"><el-tableref="el-table":tooltip-......
  • LocalDateTime ZoneId 北京时间转巴西时间与实际相差1小时-已解决
    巴西圣保罗标准时间UTC-3北京时间UTC+8 两者相差11小时,即北京时间比巴西快11小时,例如:北京时间15:00:00, 巴西应该为04:00:00但是!!,本地验证巴西时间05:00:00,那么少了一个小时去哪里了呢?捣鼓了很多配置,无效,同事代码跑的就是04:00:00,相同的代码不同的结果,为何呢?环境问题:......
  • yield关键字和生成器
    yield关键字和生成器【1】列表元组生成式num_list=[i**2foriinrange(10)]#[0,1,4,9,16,25,36,49,64,81]【2】yield关键字defgenerator():yield1yield2yield3generator=generator()print(next(generator))defeat():print('开始......
  • Python——第五章:处理异常try、except、else、finally
    在Python中,try和except语句用于处理异常(错误)。通过使用这两个关键字,你可以编写代码来捕获和处理可能发生的异常,以保持程序的稳定性。try:try代码except错误1as变量1:except1代码except错误2as变量2:except2代码except错误3as变量3:except3......
  • 提取图片名称到excel中
    脚本介绍功能这个Python脚本旨在自动化处理一个特定文件夹中的图片文件名,提取每个文件名中的中文字符,并将这些字符保存到一个Excel表格中。它特别适用于那些需要从大量图片文件中提取文本信息以进行进一步分析或记录的情况。使用场景餐饮业:从包含菜品图片的文件夹中提取菜名,......
  • UBUNTU 18.04.6 的Quartus里面转换sof到rbf文件在uboot阶段加载时出错或者在kernel启
    参考Intel的SD卡image设计的教程(https://rocketboards.org/foswiki/Documentation/EmbeddedLinuxBeginnerSGuide) 确认DE10-Nano的MSEL设置为01010,插上SD卡 给DE10-Nano上电,发现可以启动,但卡死在这里不动了: 如果只测试Preloader和uboot的时候也有这个错误: ......
  • 通过excel表格批量修改文件夹名称
    脚本功能这个脚本用于重命名文件夹,特别是在多层嵌套的文件夹结构中。它通过读取一个Excel表格来获取重命名的信息。表格的第一列应包含当前的文件夹名称,第二列包含您想要更改为的新名称。脚本会递归地遍历指定路径下的所有文件夹,并根据表格中的信息重命名匹配的文件夹。 impo......
  • 使用 npm-check-updates 检查项目的 npm 依赖项是否有更新
    一、安装npm-check-updates:npminstall-gnpm-check-updates二、使用:在项目根目录运行以下命令,检查所有项目依赖项的最新版本:ncu执行结果如下:红色=主要升级青色=小幅升级绿色=补丁升级更新版本:ncu-u注意备份或者提交代码,确保包文件处于版本控制......
  • springboot+VUE——mybatis分页和Element Plus的分页组件实践
    分页只有基础的分页功能,跳转和动态选择每页展示多少条数据的功能可以参考ElementPlus的分页组件自行配置并且传入相应的方法即可!<scriptlang="ts"setup>/***分页变量数据*/constpagination=ref({ current_page:1, // 当前页码,此处默认为第一页 total_data:0......