elementuiPlus日期范围选择el-date-picker动态禁用时间选择

**记录项目中的一个小需求:**使用 elementuiPlus 日期选择组件时,需要动态禁用可选择的日期,禁止选中今天之后的日期,且选中的日期范围不饿能超过30天。

饿了么组件的 plus 版本去掉了v2版本的配置项 picker,改用 @calendar-change 事件来代替,使用disabled-date属性和 @calendar-change 事件就可以完成动态禁用日期的行为。

代码如下:

javascript 复制代码
<el-form-item label="日期:" prop="plat" style="width: 308px">
        <el-date-picker
          v-model="dateRange"
          type="daterange"
          value-format="YYYY-MM-DD"
          :disabled-date="handleDisabledDate"
          @calendar-change="handleDateChange"
          start-placeholder="开始时间"
          end-placeholder="结束时间"
        />
      </el-form-item>
javascript 复制代码
const curDay = ref(null);//当前选中的第一个日期
// 处理日历选择事件
const handleDateChange = (val) => {
  curDay.value = val[0]

};

// 动态禁用日期
const handleDisabledDate = (date) => {
  // 当天之后的日期禁用
  const isAfterToday = proxy.$dayjs(date).isAfter(proxy.$dayjs(), 'day');
  if (isAfterToday) {
    return true;
  }
  if (!curDay.value) {
    return false
  }
  // 超过30天后禁用
  const after30Days = proxy.$dayjs(date).isAfter(proxy.$dayjs(curDay.value).add(30, 'day'))
  // 小于30天前禁用
  const before30Days = proxy.$dayjs(date).isBefore(proxy.$dayjs(curDay.value).subtract(30, 'day'))
  return after30Days || before30Days
};
相关推荐
开开心心就好5 小时前
批量提取PDF中的图片,直接导出原图
前端·javascript·支持向量机·智能手机·pdf·html·启发式算法
Setsuna_F_Seiei7 小时前
前端转型 Agent 开发 05 之 Agent Hooks 与 Checkpointer(让 Agent 从全自动转变人为可掌控)
前端·agent·ai编程
百万蹄蹄向前冲9 小时前
风扇转了一晚上MVP专家团翻车事故
前端·人工智能
默_笙9 小时前
🏛 给 AI 配一间办公室:Harness Engineering 六大模块与它的实现
前端·javascript
linux_cfan11 小时前
videojs v10 源代码系列解读:14 · 谓词守卫:在运行时安全地调用能力
前端·javascript·音视频
kyriewen11 小时前
我扒了 10,221 条 JD:腾讯技术岗 75% 在要 AI
前端·人工智能·ai编程
郑州光合科技余经理12 小时前
同城外卖小程序开发:下单成功后,后台导出能不能对上用户端状态
开发语言·前端·git·后端·uni-app·php·ai编程
+VX:Fegn089512 小时前
计算机毕业设计|基于springboot + vue旅游管理系统(源码+数据库+文档)
java·开发语言·vue.js·spring boot·课程设计
雪芽蓝域zzs12 小时前
第 7 章:双 Y 轴组合图(柱状 + 折线,看板高频场景)
vue.js·echars
IT_陈寒12 小时前
Vue的响应式让我熬到凌晨三点,原来漏了这个小细节
前端·人工智能·后端