vue+element-ui的el-date-picker时间选择器只能选择当前周

这篇具有很好参考价值的文章主要介绍了vue+element-ui的el-date-picker时间选择器只能选择当前周。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

最近遇到一个这样一个需求,开始时间和结束时间只能选择当前周时间,而且结束时间不能比开始时间早;

上效果图:

vue+element-ui的el-date-picker时间选择器只能选择当前周,vue.js,ui,elementui,javascript

 结构文件

<el-form-item label="开始时间" prop="startTime">
        <el-date-picker
          v-model="params.startTime"
          type="datetime"
          :editable="false"
          format="yyyy-MM-dd HH:mm"
          value-format="yyyy-MM-dd HH:mm"
          placeholder="请选择开始时间"
          :picker-options="pickerOptions"
        >
        </el-date-picker>
      </el-form-item>
      <el-form-item label="结束时间" prop="endTime">
        <el-date-picker
          v-model="params.endTime"
          type="datetime"
          :editable="false"
          format="yyyy-MM-dd HH:mm"
          value-format="yyyy-MM-dd HH:mm"
          placeholder="请选择结束时间"
          :disabled="!params.startTime"
          :picker-options="pickerOptionsend"
        >
        </el-date-picker>
      </el-form-item>

js代码文章来源地址https://www.toymoban.com/news/detail-535439.html

<script>
export default {
data() {
    return {

  pickerOptions: {
        disabledDate(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 sart = new Date(
            new Date(year, nowMonth, day + 1 - weekday)
          ).getTime();
          let end = new Date(
            new Date(year, nowMonth, day + 7 - weekday)
          ).getTime();
          //这里设置当前周以外的不可选
          return date.getTime() < sart || end < date.getTime();
        },
      },
      pickerOptionsend: this.disabledDate(),
}
}
methods: {
 disabledDate(date) {
      let that = this;
      return {
        disabledDate(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代表星期日//今天本周的第几天
          if (that.params.startTime) {
            let sart = new Date(
              new Date(that.params.startTime).getTime() + 24 * 60 * 60 * 1000
            );
            let end = new Date(
              new Date(year, nowMonth, day + 7 - weekday)
            ).getTime();
            //这里设置当前周以外的不可选
            return date.getTime() < sart || end < date.getTime();
          }
        },
      };
    },
}
}

</script>

到了这里,关于vue+element-ui的el-date-picker时间选择器只能选择当前周的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • element-ui el-date-picker禁止手动输入

    element-ui的DateTimePicker组件为我们提供了 文本框可输入属性 editable=“false/true”,但是此属性只对外框有作用,内框还是能手动输入 但是需求需要我们外框内框都不允许输入只能选择,就需要我们自己写js代码处理,把组件里面的输入框变为可读,添加readonly属性 解决如下:

    2024年02月16日
    浏览(42)
  • vue【element ui】el-date-picker 日期选择器控件 限制可选的开始时间和结束时间

    总结一下日期控件实现开始日期、结束日期的选择范围限制,以便更符合实际情况。 1、开始时间和结束时间都不能选 当前日期 之后的时间。(当前时间:2022年5月16日) 2、先选开始时间的话,结束时间是在开始时间的后一周内选择,也就是不能选开始时间之前的日期并且对

    2024年02月07日
    浏览(56)
  • element-ui - 日期选择器el-date-picker 设置禁止选择日期

    使用日期选择器时,有的时候需要禁止选择一些日期,我们可以通过快捷选项 picker-options 对象中的禁用日期属性 disabledDate 来设置。 只能选择今天以及今天之后的日期 只能选择今天之后的日期(不包含今天) 只能选择今天以及今天之前的日期 只能选择今天之前的日期(不包

    2024年02月11日
    浏览(71)
  • [element-ui] el-date-picker组件日期显示错误,只显示每月一号

    使用element-ui DatePicker 日期选择器,选中日期是2021-08-02至2021-08-03,浏览器中日期的值是 2021-08-01T16:00:00.000Z和2021-08-02T16:00:00.000Z; 所以确定是由于时区导致的日期不一致,解决办法就是在日期控件中加入 value-format=“yyyy-MM-dd”,问题解决

    2024年02月11日
    浏览(51)
  • Element-UI日期选择器el-date-picker给指定日期添加红点标注

            今天在项目开发中有一个需求,要求日期选择器中,指定的日期显示标注,标识该日期有待处理的内容。         查阅资料后我们得知,ElementUI在2.12.0版本里,日期选择器的picker-options新增了cellClassName方法,那么我们就来看一下如何实现。 1、badgeDate为存在待

    2024年02月11日
    浏览(58)
  • 解决前端ELement UI时间控件el-date-picker提交时间误差8小时

    前端使用框架与UI:Vue+ElementUI。 在项目开发中使用到了DateTimePicker组件,在选择时间后点击查询发现查询导的内容与预期内容有所偏差,之后发现前端选中的时间在后端接收时相差了八个小时。 我们国家的标准时间是东经120°时间(东八区),而标准时间是格林威治时间(世

    2024年01月24日
    浏览(55)
  • element-ui el-date-picker日期选择器 value-format问题

    通过原生js和moment.js分别获取 moment().format(\\\'YYYY-MM-DD HH:mm:ss\\\') 格式的时间 moment.js:文档 | Moment.js 中文网 (momentjs.cn)

    2024年02月12日
    浏览(50)
  • ELement UI时间控件el-date-picker误差8小时解决办法

    在项目中引用了elementui中的date-picker组件,选中的时间跟实际相差八小时,且格式不是自己想要的格式 如图输入的是: 得到的是 ①在data里定义变量 ②在使用form.timestamp之前要对它做处理 ③在methods里加入方法;格式自己可定义;我这里输出的是 yyyy/M/d 仅供参考哦 如果要输出

    2024年02月01日
    浏览(52)
  • [element-ui] el-date-picker a-range-picker type=“daterange“ rules 校验

    `在项目中表单提交有时间区间校验 想当然的就和其他单个输入框字符串校验,导致提交保存的时候 ,初次日期未选择,规则提示。后续在同一表单上继续提交时,校验失效。走进了死胡同,一直以为是二次校验的问题 。没有从根本出发,是校验时间的rules不对 。导致搞了很

    2024年02月11日
    浏览(37)
  • 限制Element ui日期选择器el-date-picker时间跨度为3个月

    主要通过pickerOptions里的disabledDate来控制禁止选中的日期。实现思想就是,当选中第一个开始日期时,拿到该时间戳计算时间范围,然后控制接下来选中时间在3个月以内,超过范围禁用掉。 1、在template中使用el-date-picker 2、在data中定义: 3、methods中定义处理时间范围的的方法

    2024年02月12日
    浏览(66)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包