ElementUI 日期选择器 DatePicker 实现周一,周二之类的速选

自己用到了,分享一下
很简单,就是通过组件提供的快捷项实现的

<template>
  <div class="block">
    <span class="demonstration">带快捷选项</span>
    <el-date-picker
      v-model="value1"
      align="right"
      type="dates"
      placeholder="手动选择多个"
      :picker-options="pickerOptions1">
    </el-date-picker>
  </div>
</template>

<script>
  export default {
    data() {
      return {
        pickerOptions1: {
          disabledDate(time) {
            return time.getTime() > Date.now();
          },
          shortcuts: [{
            text: '周一',
            onClick(picker) {
                var date=new Date();
                var end=new Date().getTime()+60*24*3600*1000;//60天内的周一
                var day = date.getDay() || 7;
                var basenum=1;//1到7代表周一到周日
                var weekstart = new Date(date.getFullYear(), date.getMonth(), date.getDate() + basenum - day).getTime();
                var dates=[];
                if (weekstart >= date.getTime()) {
                    dates.push(weekstart)
                }
                while (weekstart<end){
                    weekstart=weekstart+7*24*3600*1000;
                    dates.push(weekstart)
                }
                picker.$emit('pick', dates);
            }
          },]
        },
        value1: '',
      };
    }
  };
</script>

最终效果如图
file

本作品采用《CC 协议》,转载必须注明作者和本文链接
[iwzh] (github.com/iwzh)
《L01 基础入门》
我们将带你从零开发一个项目并部署到线上,本课程教授 Web 开发中专业、实用的技能,如 Git 工作流、Laravel Mix 前端工作流等。
《G01 Go 实战入门》
从零开始带你一步步开发一个 Go 博客项目,让你在最短的时间内学会使用 Go 进行编码。项目结构很大程度上参考了 Laravel。
讨论数量: 0
(= ̄ω ̄=)··· 暂无内容!

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!