Element UI DatePicker 日期选择器

这篇具有很好参考价值的文章主要介绍了Element UI DatePicker 日期选择器。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

该组件选择周的时候,默认显示‘xxxx年第x周’,但在需求要显示为‘xxxx年x月第x周(mm.dd - mm.dd)’或者‘本周(mm.dd - mm.dd)’,最终效果为

Element UI DatePicker 日期选择器
  1. 首先需要修改v-model默认展示日期,控件中默认展示为周二,设置picker-options,修改为周一,

同时设置不可选本周日以后的时间:

<el-date-picker
  v-model="weekValue1"
  type="week"
  :format="thisweek + '(' + start2 + ' - ' + end2 + ')'"
  @change="showDate1"
  :picker-options="onPicker" // 设置picker-options
  placeholder="选择周"
  :clearable="false">
</el-date-picker>

onPicker: {
    firstDayOfWeek: 1, // 周起始日为星期一
    disabledDate (value) {
      const today = new Date(); // 获取今天日期
      const d = today.getDay(); // 计算今天是周几。如果是周天,d=0
      let w = 0;
      if (d === 0) {
        w = 7;
      } else {
        w = d;
      }
      // let startTime = today.setDate(today.getDate() - w);
      // return value.getTime() < startTime; //不可选本周一以前的时间
      const endTime = today.setDate(today.getDate() + (7 - w));
      return value.getTime() > endTime; // 不可选本周日以后的时间
    }
},
  1. 设置显示为‘xxxx年x月第x周(mm.dd - mm.dd)’和format有关,

 :format="thisweek + '(' + start2 + ' - ' + end2 + ')'"
@change="showDate1"

用@change绑定showDate1方法控制thisweek,start2,end2。


这里介绍一个轻量的处理时间和日期的 JavaScript 库:Day.js

中文文档:Day.js · 中文文档 - 2kB 大小的 JavaScript 时间日期库

vue下安装和使用:在main.js下:


import dayjs from 'dayjs';
Vue.prototype.dayjs = dayjs;
直接调用dayjs() 将返回一个包含当前日期和时间的 Day.js 对象。
等同于 dayjs(new Date()) 的调用。
dayjs(e) 等同 dayjs(new Date(e))

subtract(1, 'day') 方法: 返回减去一定时间的复制的 Day.js 对象。减去1天,控件展示为周一的日期。

add(6, 'day')方法: 返回增加一定时间的复制的 Day.js 对象。加上6天,控件展示为周日的日期。


showDate1 (e) {
  const startTime = this.dayjs(e).subtract(1, 'day').$d;
  const endTime = this.dayjs(startTime).add(6, 'day').$d;
  this.start2 = this.splitDate2(startTime);
  this.end2 = this.splitDate2(endTime);

  this.weekValue1 = new Date()
  const y = this.weekValue1.getFullYear()
  const m = this.weekValue1.getMonth() + 1
  const d = this.weekValue1.getDate()

  this.lastweekday = new Date(this.dateToYYYYMMDD(this.weekValue1 - 7 * 24 * 60 * 60 * 1000)) // 所选周上周的日期
  this.lastweek = this.lastweekday.getFullYear() + '年' + (this.lastweekday.getMonth() + 1) + '月第' + this.getMonthWeek(this.lastweekday.getFullYear(), (this.lastweekday.getMonth() + 1), this.lastweekday.getDate()) + '周'

  if (this.weekValue1.getFullYear() === y && this.weekValue1.getMonth() + 1 === m && this.getMonthWeek(y, m, this.weekValue1.getDate()) === this.getMonthWeek(y, m, d)) {
    this.thisweek = '本周'
  } else {
    this.thisweek = y + '年' + m + '月第' + this.getMonthWeek(y, m, d) + '周'
  }
},
// 处理时间格式
splitDate2 (date) {
  return this.dayjs(date).format('MM.DD');
},
// 计算某日是第几周
getMonthWeek (a, b, c) {
  const date = new Date(a, parseInt(b) - 1, c)
  const day = date.getDay() || 7
  const d = date.getDate()
  return Math.ceil((d + 6 - day) / 7)
},
// 时间戳返回 yyyy-MM-dd 格式字符串
dateToYYYYMMDD (date) {
  const time = new Date(date);
  const y = time.getFullYear();
  let m = (time.getMonth() + 1);
  m = m > 9 ? m : '0' + m;
  let d = time.getDate();
  d = d > 9 ? d : '0' + d;
  return y + '-' + m + '-' + d
},

参考:Vue使用Element的日期选择器DatePicker,以周为单位_el-date-picker的type为week-CSDN博客文章来源地址https://www.toymoban.com/news/detail-489713.html

到了这里,关于Element UI DatePicker 日期选择器的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

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

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

相关文章

  • jQuery UI 实例 - 日期选择器(Datepicker)

    从弹出框或内联日历选择一个日期。 如需了解更多有关 datepicker 部件的细节,请查看 API 文档 日期选择器部件(Datepicker Widget)。 日期选择器(Datepicker)绑定到一个标准的表单 input 字段上。把焦点移到 input 上(点击或者使用 tab 键),在一个小的覆盖层上打开一个交互日历

    2024年02月12日
    浏览(34)
  • datePicker一个或多个日期组件,如何快捷选择多个日期(时间段)

    elementUI的组件文档中没有详细说明type=\\\"dates\\\"如何快捷选择一个时间段的日期,我们可以通过picker-options参数来设置快捷选择: 通过设置变量pickerOption的值可设置快捷选择: 其中dateFormat方法是将日期格式化,getAllDate方法是获取开始和结束日期之间的全部日期,在data中定义:

    2024年02月13日
    浏览(23)
  • Element UI日期组件-选择月份具体到当月最后一天

    效果如图:可以选择7月到7月,也可以选择7-8月等。。   

    2024年02月06日
    浏览(38)
  • element的datepicker日期选择器选择周一到周日并实现上一周和下一周

    页面初始化效果 点击上一周 点击下一周 1、采用el-date-picker组件,类型使用 week 但是范围是从周日开始,从周一开始需要将 firstDayOfWeek 设置为 1 2、框里还需要展示周一和周日的范围,设置两个新的属性startDate和endDate 根据model属性(默认是星期二),来算出展示的星期一和周

    2024年02月14日
    浏览(26)
  • vuejs-datepicker|简单易用的Vue.js日期选择组件

    vuejs-datepicker是一个简单易用的Vue.js日期选择组件。它使用了Bootstrap 4的样式,支持多种语言,具有直观的界面,易于配置和扩展。 👉 效果演示 👉 如果您想使用vuejs-datepicker,首先您需要安装它: 然后,在您的Vue.js项目中导入组件: 接下来,您可以在模板中使用组件: vu

    2024年02月04日
    浏览(33)
  • element ui datepicker时间控件实现范围选择周,季,年。

    因项目要求,需日,周,月,季,年五种日期范围选择器,故参考文章(在末尾)后分享 一.效果图     二、版本及下载 1.实现需要修改源码,目前修改的版本为2.15.3,所以想要实现该方法,请先将elementui升级或者降到2.15.3. 2.将lib包替换到node_module/element-ui下的lib lib包下载地

    2024年01月17日
    浏览(36)
  • element-ui时间选择器(DatePicker )数据回显

    目录 前言 一、element-ui时间选择器(DatePicker )是什么? DatePicker 日期选择器 二、返回数据格式 1.引入 总结 需求: element-ui时间选择器(DatePicker )数据回显,后台返回数据时间,然后回显到前台展示。 效果:   DatePicker 日期选择器 用于选择或输入日期 https://element.eleme.c

    2024年01月19日
    浏览(25)
  • element UI日期选择器固定选择范围

    项目中经常会使用到日期选择器,并且会对可选择的日期有要求,分享几个常用的,给大家作参考。 只能选择当前日期前(不包含当前日期)  只能选择当前日期前(包含当前日期) 指定日期范围(例如2022年12月1日至当前日期)

    2024年02月07日
    浏览(23)
  • element-ui 时间日期选择器限制选择范围

    组件代码 场景1:设置选择今天及今天之后的日期 情景2: 设置选择今天以及今天以前的日期 情景3: 设置选择三个月之内到今天的日期 情景4: 设置选择最大范围为30天

    2024年02月12日
    浏览(26)
  • Element ui 日期时间选择器取消分秒

    日期时间选择器只需要到小时,不需要分钟和秒。 示例如下: 1 :将 format 和 data-format 设置只显示到小时 2:修改css样式 新建 .scss 文件 , 修改时间选择器的样式 3:在 main.js 文件中import

    2024年02月16日
    浏览(31)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包