antd日期选择器禁止选择当天之前的时间操作


Posted in Javascript onOctober 29, 2020

使用disabledDate属性(不可选择的日期)

<a-date-picker @change="dateChange" :disabledDate="disabledDate" v-decorator="['endDate']"/>

在js中定义函数并返回

//限制当天之前的日期不可选
  disabledDate(current) {
   return current && current <moment().subtract(1, "days"); //当天之前的不可选,不包括当天
  //return current && current < moment().endOf(‘day');当天之前的不可选,包括当天
  }

补充知识:antd DatePicker RangePicker限制时间范围,其中结束时间限制时分秒不可选

需求:选择时间区间,且只能选择当前时刻之前的时间,且时分秒也要做限制。(比如现在是2019-11-13 10:29:31,那就只能选择此刻以前的,尚未发生的时间不可选。)

期望图如下:

antd日期选择器禁止选择当天之前的时间操作

antd日期选择器禁止选择当天之前的时间操作

实现:

1. 首先在页面引入时间控件与moment插件

import { DatePicker } from 'antd';
import moment from 'moment';
const { RangePicker } = DatePicker;

2. 在render中使用时间控件。

限制日期不可选是disabledDate,限制时间不可选是disabledTime(我是与form表单一起使用,可根据情况自行选择)

<FormItem label="回溯时间区间" {...formItemLayout}>
    {getFieldDecorator("time",{
      rules: [{
       required: true,
       message: "请选择回溯区间"
      }],
     })(
     <RangePicker
      disabledDate={this.disabledDate} // 限制日期不可选
      disabledTime={this.disabledDateTime} // 限制时间不可选
      format="YYYY-MM-DD HH:mm:ss" // 时间格式
      placeholder={['开始时间', '结束时间']}
      showTime // 增加时间选择按钮
     />
     )}
    </FormItem>

3. 用函数做具体的逻辑判断。

disabledDate=(current)=>{
  return current && current >= moment().endOf('day'); // 选择时间要大于等于当前天。若今天不能被选择,去掉等号即可。
 }
 range = (start, end) => {
  const result = [];
  for (let i = start; i <= end; i++) {
   result.push(i);
  }
  return result;
 };
 disabledDateTime = (dates,partial) => {
  let hours = moment().hours();//0~23
  let minutes = moment().minutes();//0~59
  let seconds = moment().seconds();//0~59
  //当日只能选择当前时间之后的时间点
  if (dates&&moment(dates[1]).date() === moment().date()&&partial=='end') {
   return {
    disabledHours: () => this.range(hours+1,23),
    disabledMinutes: () => this.range(minutes+1,59),
    disabledSeconds: () => this.range(seconds+1,59),
   };
  }
 }

以上这篇antd日期选择器禁止选择当天之前的时间操作就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
AJAX使用了UpdatePanel后无法使用alert弹出脚本
Apr 02 Javascript
asp.net下使用jquery 的ajax+WebService+json 实现无刷新取后台值的实现代码
Sep 19 Javascript
JavaScript获得页面base标签中url的方法
Apr 03 Javascript
详解Matlab中 sort 函数用法
Mar 20 Javascript
BootStrap Table对前台页面表格的支持实例讲解
Dec 22 Javascript
如何写好你的JavaScript【推荐】
Mar 02 Javascript
设置cookie指定时间失效(实例代码)
May 28 Javascript
解决layUI的页面显示不全的问题
Sep 20 Javascript
js实现浏览器打印功能的示例代码
Jul 15 Javascript
js实现贪吃蛇游戏 canvas绘制地图
Sep 09 Javascript
四十九个javascript小知识实用技巧
Nov 20 Javascript
JavaScript parseInt0.0000005打印5原理解析
Jul 23 Javascript
vue制作toast组件npm包示例代码
Oct 29 #Javascript
antd-日历组件,前后禁止选择,只能选中间一部分的实例
Oct 29 #Javascript
解决antd日期选择组件,添加value就无法点击下一年和下一月问题
Oct 29 #Javascript
浅析微信小程序自定义日历组件及flex布局最后一行对齐问题
Oct 29 #Javascript
解决ant Design中Select设置initialValue时的大坑
Oct 29 #Javascript
解决Ant Design Modal内嵌Form表单initialValue值不动态更新问题
Oct 29 #Javascript
微信小程序自定义yPicker组件实现省市区三级联动功能
Oct 29 #Javascript
You might like
php面向对象全攻略 (五) 封装性
2009/09/30 PHP
Blitz templates 最快的PHP模板引擎
2010/04/06 PHP
PHP文件去掉PHP注释空格的函数分析(PHP代码压缩)
2013/07/02 PHP
对PHP语言认识上需要避免的10大误区
2014/06/12 PHP
Yii框架form表单用法实例
2014/12/04 PHP
php实现将任意进制数转换成10进制的方法
2015/04/17 PHP
php结合正则批量抓取网页中邮箱地址
2015/05/19 PHP
php采集神器cURL使用方法详解
2016/02/19 PHP
Android AsyncTack 异步任务实例详解
2016/11/02 PHP
Yii2下点击验证码的切换实例代码
2017/03/14 PHP
PHP实现的简单对称加密与解密方法实例小结
2017/08/28 PHP
php实现简易计算器
2020/08/28 PHP
谈谈JavaScript中的函数与闭包
2013/04/14 Javascript
javascript实现在某个元素上阻止鼠标右键事件的方法和实例
2014/08/12 Javascript
JavaScript 动态加载脚本和样式的方法
2015/04/13 Javascript
又一款js时钟!transform实现时钟效果
2016/08/15 Javascript
NodeJS整合银联网关支付(DEMO)
2016/11/09 NodeJs
Angularjs中ng-repeat-start与ng-repeat-end的用法实例介绍
2016/12/31 Javascript
Bootstrap实现提示框和弹出框效果
2017/01/11 Javascript
self.attachevent is not a function的解决方法
2017/04/04 Javascript
nodeJS实现路由功能实例代码
2017/06/08 NodeJs
限时抢购-倒计时的完整实例(分享)
2017/09/17 Javascript
jQuery实现动态生成年月日级联下拉列表示例
2019/05/11 jQuery
VUE前后端学习tab写法实例
2019/08/06 Javascript
原生js实现的观察者和订阅者模式简单示例
2020/04/18 Javascript
在Python中进行自动化单元测试的教程
2015/04/15 Python
Linux RedHat下安装Python2.7开发环境
2017/05/20 Python
python实现全盘扫描搜索功能的方法
2019/02/14 Python
python递归法实现简易连连看小游戏
2020/03/25 Python
Python结合Window计划任务监测邮件的示例代码
2020/08/05 Python
CSS3教程(6):创建网站多列
2009/04/02 HTML / CSS
迎八一活动主题
2014/01/31 职场文书
关于读书的演讲稿600字
2014/08/27 职场文书
领导班子遵守党的政治纪律情况对照检查材料
2014/09/26 职场文书
python - timeit 时间模块
2021/04/06 Python
LeetCode189轮转数组python示例
2022/08/05 Python