el-date-picker选择器不能选当前日、月、周及以后日期

<el-config-provider :locale="locale">//这是转成中文,不需要可以不加
  <span v-show="nowymd == '日榜'">//元素套起来才能v-show
    <el-date-picker
      v-model="dataval"
      type="dates"
      placeholder="请选择一天"
      :disabled-date="disabledDate"
    />
  </span>
  <span v-show="nowymd == '周榜'">
    <el-date-picker
      v-model="weekval"
      type="week"
      format="第ww周"
      placeholder="请选择一周"
      :disabled-date="disabledWeek"
    />
  </span>
  <span v-show="nowymd == '月榜'">
    <el-date-picker
      v-model="monthval"
      type="month"
      placeholder="请选择查询月份"
      :disabled-date="disabledMonth"
    />
  </span>
</el-config-provider>
export default {
  name: "HomeView",
  data() {
    return {
      disabledWeek(date) {
        //不能选当前周及以后的周
        let data = new Date(); //当前日期
        let year = Number(data.getFullYear()); //当前年
        let nowMonth = Number(data.getMonth());
        let month = Number(data.getMonth()) + 1; //当前月
        let day = Number(data.getDate()); //当天
        //计算某日是本月第几周
        let mydate = new Date(year, month - 1, day);
        let weekday = mydate.getDay(); //获取该日是星期几,0代表星期日//今天本周的第几天
        let end = new Date(new Date(year, nowMonth, day - weekday)).getTime();
        return end < date.getTime() + 1000 * 60 * 60 * 24;
      },
      disabledMonth(time) {
        //不能选当前月份及以后的周
        const date = new Date();
        const year = date.getFullYear();
        let month = date.getMonth() + 1;
        if (month >= 1 && month <= 9) {
          month = "0" + month;
        }
        const currentdate = year.toString() + month.toString();
        const timeyear = time.getFullYear();
        let timemonth = time.getMonth() + 1;
        if (timemonth >= 1 && timemonth <= 9) {
          timemonth = "0" + timemonth;
        }
        const timedate = timeyear.toString() + timemonth.toString();
        return currentdate <= timedate;
      },
      disabledDate(time) {
        //日选择器不能选择当前天及以后
        return time.getTime() > Date.now() - 1000 * 60 * 60 * 24;
      },
    }
  }
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值