Ant Design RangePicker 日期选择器不可选择今日或以后的日期, 最多可以选择31天.

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

首先先看看效果:

效果图: 默认是一直不可选择今日和以后的日期

ant日期选择限制范围,javascript,前端,前端框架

当选择了一个日期后, 将它的可选择区间限制在 31 天内, 并且下次选择时解除限制

ant日期选择限制范围,javascript,前端,前端框架

 

ant日期选择限制范围,javascript,前端,前端框架

ant日期选择限制范围,javascript,前端,前端框架

下面是代码示例, 里面的 props, state, this.setState 视情况自行修改文章来源地址https://www.toymoban.com/news/detail-602766.html

<RangePicker
style={{ marginRight: 8 }}
placeholder={[t('startDate'), t('endDate')]}
disabledDate={props.disabledDate}
onChange={dates => props.rangeOnChange(dates)}
  onCalendarChange={dates => props.CalendarChange(dates)}
  defaultValue={[props.begin,props.end]}
  />

  disabledDate = (current) =>  {
    // current && (moment(current).format('YYYY-MM-DD') === moment().format('YYYY-MM-DD') 
    //              || current > moment().endOf('day'))
    // 这一段是限制不可选今日和以后的日期, 看需求进行修改
    // this.state.TimeInterval).subtract(30, 'd') 中的 30 看需求是限制多少天内自行修改
    // moment(this.state.TimeInterval).add(30, 'd') 同理
    return this.state.TimeInterval ? 
      parseInt(moment(moment(current).format('YYYY-MM-DD')).format('x')) < parseInt(moment(moment(this.state.TimeInterval).subtract(30, 'd').format('YYYY-MM-DD')).format('x')) || 
      parseInt(moment(moment(current).format('YYYY-MM-DD')).format('x')) > parseInt(moment(moment(this.state.TimeInterval).add(30, 'd').format('YYYY-MM-DD')).format('x')) || 
      current && (moment(current).format('YYYY-MM-DD') === moment().format('YYYY-MM-DD') || 
                  current > moment().endOf('day'))
      : 
      current && (moment(current).format('YYYY-MM-DD') === moment().format('YYYY-MM-DD') 
                  || current > moment().endOf('day'))
    // 后面的是解除区间限制后的规则, 设置为 flase 表示允许
  }

async rangeOnChange(value) {
  // this.begin = value.length !== 0 ? value[0].unix() : '';
  // this.end = value.length !== 0 ? value[1].unix() : '';
  // 这里是将开始当天的零点时间戳和结束当天23.59.59的时间戳以秒的方式赋值. 根据后端要求传值即可
  this.begin = value.length !== 0 ? parseInt(moment(value[0].format("YYYY-MM-DD")).startOf('day').format('x') / 1000) : '';
  this.end = value.length !== 0 ? parseInt(moment(value[1].format("YYYY-MM-DD")).endOf('day').format('x') / 1000) : '';
  await // 日期查询相关的业务代码, 此处省略
}

CalendarChange = (value) => {
  // 这里进行判断, 当日期的区间选择完成之后解除区间限制
	 		this.setState({ TimeInterval: value.length > 1 ? null :value[0] })
	 	}

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

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

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

相关文章

  • iview时间控件 动态不可选日期 可选择24小时范围内 时间往后退24小时

    起始时间 触发 on-change 方法 结束时间 options 动态设置不可选择的日期。 disabledDate(date) 内部的 date 是时间戳的形式 , return 返回的是不想要选的区间范围 注意: toLocaleDateString 获取的是年月日 toLocaleString 获取年月日时分秒 toLocaleTimeString 获取时分秒 new Date(new Date().toLocaleStri

    2024年02月11日
    浏览(31)
  • Android Kotlin Java 自定义日历控件 CalendarView ,支持单选,多选,按星期选,跨月份日期范围选择,样式设置,设置不可选日期,设置只可选日期

    https://github.com/hdev0225/CalendarView CalendarView 使用kotlin语言开发,支持单选,多选,按星期选,跨月份日期范围选择,样式设置,设置不可选日期,设置只可选日期 设置不可选择日期,设置只可选择某些日期 AS 版本: Android Studio Dolphin | 2021.3.1 Android Gradle Plugin Version: 7.3.0 Gradle

    2024年02月09日
    浏览(44)
  • vue3+ant design vue+ts实战【ant-design-vue组件库引入】

    🔥🔥更多内容见Ant Design Vue官方文档 🔥点击复习vue3【watch检测/监听】相关内容 👏👏👏一个好项目的编写不仅需要完美的逻辑,以及相应的技术,同时也需要一个 设计规范的高质量UI组件库 。👏👏👏本期文章将会详细讲解 Ant Design of Vue 组件库的 安装、使用、引入 。

    2024年02月02日
    浏览(47)
  • Ant Design入门

    目录 一:什么是Ant Design? 二:开始使用 三:布局 四:表格         Ant Design 是阿里蚂蚁金服团队基于 React 开发的 ui 组件,主要用于中后台系统的使用。         官网: https://ant.design/index-cn   设计语言: 随着商业化的趋势,越来越多的企业级产品对更好的用户体验有了

    2024年02月02日
    浏览(48)
  • Ant Design Pro项目中 提示:找不到模块“@ant-design/pro-components”或其相应的类型声明

    Ant Design Pro中在使用 StatisticCard 指标卡组件时候,按照官方的文档从“@ant-design/pro-components”中引入这个组件发现会报错 提示找不到模块“@ant-design/pro-components”或其相应的类型声明 也就是说 Ant Design Pro 脚手架创建的项目中,默认没有引入这个依赖包,于是去package.json中看了

    2024年02月11日
    浏览(69)
  • ant design vue 的getPopupContainer

    在 ant design vue 中,有几个组件是有 getPopupContainer 属性的,比如:下拉菜单 默认是渲染到body 上的,所以如果你想要对 下拉选择组件 的样式,做修改,如果 style 标签上开启了 scoped,肯定不会生效 所以,需要指定 getPopupContainer ,用法如下

    2024年02月08日
    浏览(43)
  • Ant Design Vue 修改表格头部样式

    在网上搜了好多修改表格头部样式的,最后自己摸索出来,分享给大家,最后附上完整代码。 首先用到的是 customHeaderRow 这个API,类型是一个函数 此图是 console.log(conlumn); 打印出来的 可以看到每一列都有一个className

    2024年02月11日
    浏览(41)
  • Ant Design Form.List基础用法

    项目中需要在新增可以多个如图 代码如下 其中add 方法可以添加参数,为添加的默认参数 注意: {…field} 一定要放在 name={[field.name,‘XXX’]} 的前面,否则就会出错 以上共勉

    2024年02月07日
    浏览(46)
  • React安装ant design组件库,并使用

    ant design是一个很棒的组件库,官方地址:快速上手 - Ant Design 但是如何在React里面用起来,好像并不是很顺畅,没有像Vue里面那么友好,因为我踩过这个坑,虽然安装很简单,但是想要出样式,还是有点步骤的。 npm命令: yarn命令: pnpm命令: 千万不要简单的只看官方的文档

    2024年02月14日
    浏览(46)
  • 除了Element和Ant Design,它同样优秀!

    大家好,我是程序视点的小二哥! 今天分享一款来自国外的优秀的前端 UI 组件库: PrimeVue 目前最新版本,基于 Vue3 ,很有特色,值得研究学习和上手使用。 PrimeVue 是一套非常优秀的 Vue UI 组件库 ,组件丰富,定制性很强,官网 文档清晰 ,代码例子充足。 中文化 也做得很不错

    2024年02月16日
    浏览(40)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包