el-date-picker选择开始日期的近半年

html 复制代码
<el-date-picker
   v-model="form[val.key]"
  :type="val.datePickerType || 'daterange'"
  :clearable="val.clearable && true"
  range-separator="~"
  start-placeholder="开始日期"
  end-placeholder="结束日期"
  style="width: 100%"
  :disabled-date="disabledDate"
  @calendar-Change="calendarChange"
/>
js 复制代码
const calendarChange = (obj: any) => {
  const minDate = obj[0];
  const maxDate = obj[1];
  // 把选择的第一个日期赋值给一个变量。
  choiceDate.value = minDate.getTime();
  // 如何你选择了两个日期了,就把那个变量置空
  if (maxDate) choiceDate.value = null;
};
// 选择今天及今天之前的日期
// const disabledDate = (time) => time.getTime() > Date.now() - 8.64e6;

const disabledDate = (time: any) => {
  // 如何选择了一个日期
  if (choiceDate.value) {
    // 半年的时间戳
    // 7 * 4: 一个月
    const one = 7 * 4 * 6 * 24 * 3600 * 1000;
    // 当前日期 - one = 7天之前 time.getTime() < minTime
    const minTime = choiceDate.value - one;
    // 当前日期 + one = 7天之后 // time.getTime() > maxTime
    // const maxTime = choiceDate.value + one;
    return time.getTime() < minTime || time.getTime() > Date.now() - 8.64e6;
  } else {
    return time.getTime() > Date.now() - 8.64e6;
  }
};
相关推荐
雪芽蓝域zzs7 天前
第7节:多选模式、自定义选项渲染、受控弹窗显隐
vue.js·elementui
雪芽蓝域zzs8 天前
第6节:远程搜索弹窗(remote 模式),弹窗滚动加载分页
vue.js·elementui
雪芽蓝域zzs9 天前
第4节:el-select 弹窗事件控制(打开 / 关闭、选中事件、弹窗滚动事件)
vue.js·elementui
ss2739 天前
AI全栈实战 | 2.3-01 组件库实战:Element Plus 怎么搭出专业界面,过度封装为什么成维护负担
前端·javascript·elementui·vue
雪芽蓝域zzs9 天前
第3节:el-select 弹窗定位、滚动穿透与挂载容器(popper-append-to-body /teleported)
vue.js·elementui
雪芽蓝域zzs10 天前
第 2 节:基础扩展 - 下拉弹窗常用原生属性
vue.js·elementui
雪芽蓝域zzs10 天前
Vue3 + Element Plus el-select 下拉弹窗
vue.js·elementui
朱 欢 庆14 天前
el-table 表格组件二次封装
javascript·vue.js·elementui
ℋᙚᵐⁱᒻᵉ鲸落21 天前
ETypeError: nameRef.value?.focus is not a functio. 设置el-input自动聚焦时报错
前端·javascript·vue.js·elementui
愛芳芳24 天前
基于 Electron + Vue3 的仿 PC 微信客户端项目实战
前端·javascript·css·elementui·typescript·electron·vue