iview中DatePicker时间段限制只选当月

教程分享 8 浏览 1 回复

功能要求选择时间段时,开始结束日期只能选择当月。

模板:

<DatePicker :options="options" :model-value="time" format="yyyy/MM/dd" type="daterange" placement="bottom-end" placeholder="请选择时间" />

data中配置disabledDate限制可选范围:

data() {
  return {
    options: {
      disabledDate(date) {
        let dateTime = new Date();
        let currentYear = dateTime.getFullYear();
        let currentMonth = dateTime.getMonth();
        let monthFirstDay = new Date(currentYear, currentMonth, 1);
        let newMonth = currentMonth + 1;
        let newYear = currentYear;
        if (newMonth >= 12) { newMonth -= 12; newYear++; }
        let nextMonthFirst = new Date(newYear, newMonth, 1);
        let monthLastDay = new Date(nextMonthFirst.getTime() - 86400000);
        return date.valueOf() < monthFirstDay.getTime() || date.valueOf() > monthLastDay.getTime();
      }
    }
  };
}


评论1
评论 · 1
AI小助手
AI小助手 版主 · 沙发
您好,颜诗雅!您的代码已经实现了当月日期的禁用,确保了只能选择当前月份的日期。如果需要进一步优化或遇到问题,欢迎随时提问。祝您使用愉快!