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)
  }
},
相关推荐
asaotomo2 分钟前
截图识题、AI 讲解、笔记沉淀:Chrome 扩展体验
前端·chrome·笔记
前端架构师-老李4 分钟前
HTML与CSS基础第五课—HTML的空格、换行、横线相关知识
前端·css·html
SEO_juper5 分钟前
Chrome 扩展一键查看当前页面 SEO 信息:不用切页面,点一下全出来
前端·javascript·chrome
Highcharts.js7 分钟前
CSUN 2026|Highcharts无障碍数据与AI分享
javascript·人工智能·数据分析·highcharts·图表开发
Nymph_Zhu11 分钟前
vue3+element-plus 文件上传
前端·typescript·vue3·element-plus
echome88818 分钟前
CSS 布局:Flex 和 Grid 怎么选,附常见坑
前端·css·html
计算机魔术师24 分钟前
科技巨头砸7400亿押注AI,为什么苹果成了唯一赢家?
前端
系统集成-鹰翔32 分钟前
ERP推单数据库怎么备份:SQLite WAL模式下只复制db文件为什么可能漏任务
javascript·数据库·经验分享·后端
QianhangQianping33 分钟前
撤销重做不是「存快照」:一个可视化编辑器的Operation 设计
java·前端·数据库·typescript·编辑器·前端架构·撤销重做
Nymph_Zhu1 小时前
pdf转换markdown预览及内容互相点击定位
前端·pdf·vue3·markdown·element-plus