el-datepicker限制日期选择范围

问题:使用常规方法限制日期以后,发现被限制日的前一天不能选择,代码如下

javascript 复制代码
<el-date-picker
  v-model="aaa"
  type="daterange"
  size="mini"
  range-separator="至"
  start-placeholder="开始日期"
  end-placeholder="结束日期"
  :default-time="['00:00:00', '23:59:59']"
  :picker-options="pickerOptionsEnd"
>
</el-date-picker>
pickerOptionsEnd: {
  disabledDate: time => {
    return time.getTime() > new Date()
  }
},

使用上述方式实现发现有问题,比如今天9号,实际显示禁用的范围是10号及以后,实际选择的时候发现9号不可选。

后来发现,是限制了 :default-time="['00:00:00', '23:59:59']" 导致出现了问题,因为default-time 为选中的日期设置一个具体的时分秒,如果这个时间点超过了函数中定义的"当前时间"(精确到毫秒),就可能产生冲突,所以解决方案如下:

通过计算"今天 23:59:59"的时间戳作为截止点,确保设置了 default-time 为 '23:59:59' 的今天日期依然在允许范围内

最终解决方案:

javascript 复制代码
pickerOptionsEnd: {
  disabledDate: time => {
    return time.getTime() > new Date().setHours(23, 59, 59, 999)
  }
},
相关推荐
H@Z*rTE|i2 分钟前
webpack 打包流程(极简记忆口诀)
前端·webpack·node.js
@菜菜_达20 分钟前
前端 HTML 入门(标签)
前端·html
智航GIS22 分钟前
7.1 自定义函数
前端·javascript·python
BlackWolfSky31 分钟前
React中文网课程笔记1—快速入门
前端·笔记·react.js
A_one201036 分钟前
利用npm内置命令构建脚本工具
前端·npm·node.js
哔哩哔哩技术41 分钟前
2025年哔哩哔哩技术精选技术干货
前端·后端·架构
霍理迪42 分钟前
CSS布局方式——定位
前端·css
星光不问赶路人44 分钟前
TypeScript 架构实践:从后端接口到 UI 渲染数据流的完整方案
前端·vue.js·typescript
ttyyttemo1 小时前
Dagger技术的使用学习
前端
IT_陈寒1 小时前
Redis性能翻倍的5个关键策略:从慢查询到百万QPS的实战优化
前端·人工智能·后端