elementPlus使用 el-date-picker ,限制选择的开始日期和结束日期的差在7天范围内。

这篇具有很好参考价值的文章主要介绍了elementPlus使用 el-date-picker ,限制选择的开始日期和结束日期的差在7天范围内。。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

在使用el-date-picker时,想要以下需求:

  1. 选中第一个日期后(如:12月15日),第二个日期=第一个日期-7,或者第二个日期=第一个日期+7,即第二个日期选择范围如图:(前后7天可选)
  2. 只能选择今天以及今天之前的日期。
    如何对 element-plus中的el-date-picker组件 做日期和时间的限制处理,禁用七天前,# element-plus相关问题(vue3),第三方库使用的问题,vue.js,elementui,前端
  <el-date-picker
    v-model="value"
    type="daterange"
    range-separator="到"
    start-placeholder="开始时间"
    end-placeholder="结束时间"
    value-format="YYYY-MM-DD"
    @change="change"
    :disabled-date="disabledDate"
    @calendar-change="handleChange"
    @focus="handleFocus"
    :clearable="false"
  />
const pickDay = ref()
const handleFocus = () => {
  pickDay.value = null
}
const limitTime = 1000 * 60 * 60 * 24 * 6
const disabledDate = (time: Date) => {
  if (pickDay.value) {
    return (
      time.getTime() < pickDay.value.getTime() - limitTime ||
      time.getTime() > pickDay.value.getTime() + limitTime ||
      time.getTime() > Date.now()
    )
  } else {
    return time.getTime() > Date.now()
  }
}
const handleChange = (val: Date[]) => {
  const [pointDay] = val
  pickDay.value = pointDay
}

或者使用dayJs,disabledDate 可以改为文章来源地址https://www.toymoban.com/news/detail-806104.html

import dayjs from 'dayjs'
const disabledDateSeven = (time: Date) => {
  if (pickDay?.value) {
    return (
      time.getTime() < dayjs(pickDay.value.getTime()).subtract(6, 'day') ||
      time.getTime() > dayjs(pickDay.value.getTime()).add(6, 'day') ||
      time.getTime() > Date.now()
    )
  } else {
    return time.getTime() > Date.now()
  }
}

该方法可以解决,如:使用 el-date-picker,限制开始日期和结束日期差值为7,30天等需求。开始日期随着差值而变化。

如:只能选择当前选择日期的前一个月、后一个月。前七天和后七天。

到了这里,关于elementPlus使用 el-date-picker ,限制选择的开始日期和结束日期的差在7天范围内。的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

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

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

相关文章

  • vue【element ui】el-date-picker 日期选择器控件 限制可选的开始时间和结束时间

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

    2024年02月07日
    浏览(41)
  • Vue3+ElementPlus el-date-picker设置可选时间范围

    需求: 选择年份,对应的日期范围选择器跟随年份变化,只可选当前年份 ElementPlus的el-data-picker没有picker-options属性,但是提供了default-value属性可以设置不可选的日期   这里我们定义一个方法disabledDateFun用来筛选符合要求的日期,接受一个date格式的对象作为参数,返回格式为

    2024年02月12日
    浏览(30)
  • Vue中的el-date-picker时间选择器的使用

    1、value-format属性设置需要什么格式的时间 2、type类型选择datetime、date type类型改成date时,日期选择器就变成了年月日。 value-format不指定时,也默认时年月日。

    2024年02月12日
    浏览(44)
  • el-date-picker组件设置时间范围限制

    如图所示,下图为新增的一个弹层页面,同时有个需求, 日期选择 需要 限制一个月的时间范围 (一月 默认为30天 ): 参数 说明 类型 可选值 默认值 shortcuts 设置快捷选项,需要传入 { text, onClick } 对象用法参考 demo 或下表 Object[] — — disabledDate 设置禁用状态,参数为当前

    2024年01月17日
    浏览(37)
  • element ui时间选择器el-date-picker关于日期禁用disabledDate的使用

    项目中很多场景都用到时间范围选择的组件:  这时候我们过多选择的是elment ui里面的el-date-picker组件,但是又嫌弃人家原始的这个丑陋   所以选择自己组装,有没有小伙伴像我这样写的呢: 发现始终不触发disabledDate,不会走进禁用的方法。寻思再三后,看官网介绍它并不是

    2024年02月08日
    浏览(41)
  • el-date-picker(日期时间选择)那些事

    用于记录工作和学习中遇到的问题 vue3+element-plus 日期时间格式转换 组件默认的格式:2024-02-01T16:00:00.000Z 需要转换成:YYYY-MM-DD HH:mm:ss

    2024年02月22日
    浏览(34)
  • vue使用element-ui中日期选择器 (el-date-picker) 出现报错

    一、代码 二、报错 三、原因是 2.15.9这个版本有问题    四、解决办法-----版本降到2.15.8 即可 ① 卸载   npm uninstall element-ui  ②指定版本安装  npm install element-ui@2.15.8 ③ 查看版本即可 npm list  

    2024年02月16日
    浏览(39)
  • 三分钟教你如何实现el-date-picker动态限制选中日期

    首先在页面上插入一个el-date-picker组件并绑定一个响应值 这里我们需要day.js这个库来帮助我们处理Date对象,便于日期的计算 然后我们使用disable-date属性控制哪些日期需要禁用 该属性接受一个函数函数的参数为一个date对象代表组件中每一个可能被选中的日期。 函数的返回值

    2024年02月03日
    浏览(34)
  • elmentUI组建中el-date-picker实现限制时间范围精确到小时

    需求要求 时间选择器只能选择今天之前的日期.默认时间是前一天00点~23点 后台返回的最小时间和最大时间 时间精度限制到小时 开始想着用type=\\\"datetimerange\\\"来实现,后来发现控制时间禁用无法实现,后改变思路使用两个type=\\\"datetime\\\"拼装 实现 1.先获取一个只能选择到小时的时间范

    2023年04月27日
    浏览(42)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包