当前位置: 首页 > news >正文

el-date-picker限制选择7天内禁止内框选择

 需求:elementPlus时间段选择框需要满足:①最多选7天时间。②不能手动输入。


<el-date-picker v-model="timeArrange" @focus="timeEditable" :editable="false" type="datetimerange" range-separator="至" start-placeholder="开始日期" value-format="YYYY-MM-DD HH:mm:ss" :disabled-date="disabledDateFn" @calendar-Change="calendarChange" end-placeholder="结束日期" style="width: 100%" 
/>

①、限制最多选7天时间问题

加属性 :disabled-date="disabledDateFn" 和 @calendar-Change="calendarChange"

const disabledDateFn = (time: any) => {// 如何选择了一个日期if (choiceDate.value) {// 7天的时间戳const one = 6 * 24 * 3600 * 1000;// 当前日期 - one = 7天之前const minTime = choiceDate.value - one;// 当前日期 + one = 7天之后const maxTime = choiceDate.value + one;return (time.getTime() < minTime ||time.getTime() > maxTime// 限制不能选择今天及以后// || time.getTime() + 1 * 24 * 3600 * 1000 > Date.now());} else {// 如果没有选择日期,就要限制不能选择今天及以后// return time.getTime() + 1 * 24 * 3600 * 1000 > Date.now();}
}const calendarChange = (obj: any) => {const minDate = obj[0]const maxDate = obj[1]// 把选择的第一个日期赋值给一个变量。choiceDate.value = minDate.getTime();// 如何你选择了两个日期了,就把那个变量置空if (maxDate) choiceDate.value = null;
}

效果如下: 

 


②限制手动输入问题。

这里有内外两个输入框需要限制

外部 的可以直接用属性 :editable="false" 限制

内部 的这里需要通过 @focus="timeEditable" 把 input 内框输入都变成只读状态。

//组件禁止组件里面的input输入值
const timeEditable = ()=>{nextTick(() => {let els = document.querySelectorAll('.el-input__wrapper input');for (var i = 0; i <= els.length - 1; i++) {els[i].setAttribute('readonly', 'readonly');}})
}

这样需求就实现了

http://www.lryc.cn/news/259499.html

相关文章:

  • Navicat 技术指引 | 适用于 GaussDB 分布式的调试器
  • 人工智能导论习题集(3)
  • 2023一起益企广东省中小企业数字化赋能活动(深圳站)成功举办
  • MySQL之创建表
  • 选择大于努力-鸿蒙开发应用不适合当前企业的现状态(头部应用除外)推荐一套款平台框架可以写安卓iOS 鸿蒙为企业开源节流
  • 2023.12.12 关于 Java 反射详解
  • 【Qt QML入门】Image
  • Spark编程入门
  • JVM 内存分析工具 Memory Analyzer Tool(MAT)的深度讲解
  • 浅谈 USB Bulk 深入浅出 (3) - USB Bulk 装置传输的注意事项
  • c语言结构体调用格式与对齐
  • 服务器常用命令介绍和负载监控的工具插件推荐
  • linux 防火墙systemctl (个人笔记)
  • 处理器中store指令的处理
  • 杨辉三角形-第11届蓝桥杯选拔赛Python真题精选
  • 我们一起做过的SPA——Nuxt.js介绍
  • java导出word使用模版与自定义联合出击解决复杂表格!
  • GO设计模式——9、过滤器模式(结构型)
  • fastadmin 导出
  • 六、CM4树莓派USBRS转485串口通讯
  • c++知识总结
  • python-爬取壁纸
  • 第31期 | GPTSecurity周报
  • 湖仓一体架构理论与实践汇总
  • Redission从入门到入门
  • PHP对接企业微信
  • 【原创】录剪视频的折腾之路
  • 【BI】FineBI功能学习路径-20231211
  • pytorch之torch.utils.data学习
  • Spring Boot 3中一套可以直接用于生产环境的Log4J2日志配置