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 相关文章推荐
JavaScript中的运算符种类及其规则介绍
Sep 26 Javascript
jquery easyui datagrid实现增加,修改,删除方法总结
May 25 Javascript
深入理解JavaScript中的call、apply、bind方法的区别
May 30 Javascript
Spring MVC中Ajax实现二级联动的简单实例
Jul 06 Javascript
关于js二维数组和多维数组的定义声明(详解)
Oct 02 Javascript
js print打印网页指定区域内容的简单实例
Nov 01 Javascript
vue使用watch 观察路由变化,重新获取内容
Mar 08 Javascript
JS switch判断 三目运算 while 及 属性操作代码
Sep 03 Javascript
mui上拉加载更多下拉刷新数据的封装过程
Nov 03 Javascript
react-router browserHistory刷新页面404问题解决方法
Dec 29 Javascript
使用proxy实现一个更优雅的vue【推荐】
Jun 19 Javascript
JSONP 的原理、理解 与 实例分析
May 16 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语法(2)
2006/10/09 PHP
php环境配置 php5 mysql5 apache2 phpmyadmin安装与配置
2006/11/17 PHP
php session和cookie使用说明
2010/04/07 PHP
php实现兼容2038年后Unix时间戳转换函数
2015/03/18 PHP
PHP使用file_get_contents发送http请求功能简单示例
2018/04/29 PHP
PHP反射实际应用示例
2019/04/03 PHP
jQuery实现折线图的方法
2015/02/28 Javascript
jquery控制页面部分刷新的方法
2015/06/24 Javascript
javascript发送短信验证码实现代码
2015/11/12 Javascript
学习JavaScript设计模式之状态模式
2016/01/08 Javascript
jQuery模仿阿里云购买服务器选择购买时间长度的代码
2016/04/29 Javascript
JavaScript中${pageContext.request.contextPath}取值问题及解决方案
2016/12/08 Javascript
关于react中组件通信的几种方式详解
2017/12/10 Javascript
微信接入之获取用户头像的方法步骤
2019/09/23 Javascript
Vue路由权限控制解析
2020/11/09 Javascript
JavaScript缓动动画函数的封装方法
2020/11/25 Javascript
Python读取和处理文件后缀为.sqlite的数据文件(实例讲解)
2017/06/27 Python
python获取酷狗音乐top500的下载地址 MP3格式
2018/04/17 Python
利用Python实现在同一网络中的本地文件共享方法
2018/06/04 Python
Python3多进程 multiprocessing 模块实例详解
2018/06/11 Python
Django开发中的日志输出的方法
2018/07/02 Python
解决python ogr shp字段写入中文乱码的问题
2018/12/31 Python
解决pycharm工程启动卡住没反应的问题
2019/01/19 Python
scrapy-redis源码分析之发送POST请求详解
2019/05/15 Python
python实现车牌识别的示例代码
2019/08/05 Python
Django中使用MySQL5.5的教程
2019/12/18 Python
HTML5中的进度条progress元素简介及兼容性处理
2016/06/02 HTML / CSS
安德玛比利时官网:Under Armour比利时
2019/08/28 全球购物
2014民事授权委托书范本
2014/09/29 职场文书
漂亮妈妈观后感
2015/06/08 职场文书
欠款证明
2015/06/24 职场文书
师德师风心得体会(2016精选篇)
2016/01/12 职场文书
《卧薪尝胆》读后感3篇
2019/12/26 职场文书
Python中for后接else的语法使用
2021/05/18 Python
如何用PHP实现多线程编程
2021/05/26 PHP
python自动化测试之Selenium详解
2022/03/13 Python