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 相关文章推荐
自定义jQuery选项卡插件实例
Mar 27 Javascript
javascript中的onkeyup和onkeydown区别介绍
Apr 28 Javascript
jQuery的each终止或跳过示例代码
Dec 12 Javascript
测试IE浏览器对JavaScript的AngularJS的兼容性
Jun 19 Javascript
JS实现给对象动态添加属性的方法
Jan 05 Javascript
简单实现jQuery手风琴效果
Aug 18 jQuery
如何用原生js写一个弹窗消息提醒插件
May 24 Javascript
详解vuex的简单todolist例子
Jul 14 Javascript
Vue生命周期activated之返回上一页不重新请求数据操作
Jul 26 Javascript
解决vue自定义指令导致的内存泄漏问题
Aug 04 Javascript
解决antd 表单设置默认值initialValue后验证失效的问题
Nov 02 Javascript
JavaScript中arguments的使用方法详解
Dec 20 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
使用sockets:从新闻组中获取文章(二)
2006/10/09 PHP
第二节--PHP5 的对象模型
2006/11/16 PHP
phpMyAdmin2.11.6安装配置方法
2008/08/24 PHP
解析:使用php mongodb扩展时 需要注意的事项
2013/06/18 PHP
PHP架构及原理知识点详解
2019/12/22 PHP
日期 时间js控件
2009/05/07 Javascript
node.js中的fs.read方法使用说明
2014/12/17 Javascript
javascript中hasOwnProperty() 方法使用指南
2015/03/09 Javascript
jQuery使用load()方法载入另外一个网页文件内的指定标签内容到div标签的方法
2015/03/25 Javascript
JS实现点击按钮后框架内载入不同网页的方法
2015/05/05 Javascript
javascript点击按钮实现隐藏显示切换效果
2016/02/03 Javascript
JS调用某段SQL语句的方法
2016/10/20 Javascript
JS正则RegExp.test()使用注意事项(不具有重复性)
2016/12/28 Javascript
Ionic3 UI组件之Gallery Modal详解
2017/06/07 Javascript
jQuery初级教程之网站品牌列表效果
2017/08/02 jQuery
使用ngrok+express解决本地环境中微信接口调试问题
2018/02/26 Javascript
JS实现读取xml内容并输出到div中的方法示例
2018/04/19 Javascript
js中innerText/textContent和innerHTML与target和currentTarget的区别
2019/01/21 Javascript
微信小程序如何加载数据库真实数据的实现
2020/03/04 Javascript
javascript中innerHTML 获取或替换html内容的实现代码
2020/03/17 Javascript
浅要分析Python程序与C程序的结合使用
2015/04/07 Python
Python的Urllib库的基本使用教程
2015/04/30 Python
深入理解Python 关于supper 的 用法和原理
2018/02/28 Python
解读python logging模块的使用方法
2018/04/17 Python
和孩子一起学习python之变量命名规则
2018/05/27 Python
python 自动重连wifi windows的方法
2018/12/18 Python
pycharm工具连接mysql数据库失败问题
2020/04/01 Python
判断Threading.start新线程是否执行完毕的实例
2020/05/02 Python
容易被忽略的Python内置类型
2020/09/03 Python
Tea Collection官网:一家位于旧金山的童装公司
2020/08/07 全球购物
亿阳信通股份有限公司笔试题(C#)
2016/03/04 面试题
类的返射机制中的包及核心类
2016/09/12 面试题
共产党员公开承诺书
2014/03/25 职场文书
保密工作目标责任书
2014/07/28 职场文书
2014年小学教师工作自我评价
2014/09/22 职场文书
在python中实现导入一个需要传参的模块
2021/05/12 Python