import React from 'react';
import ReactDOM from 'react-dom';
import {Input,DatePicker,Form,Col,Button,Select} from 'antd';
import 'antd/dist/antd.css';
import locale from 'antd/lib/date-picker/locale/zh_CN';
import 'moment/locale/zh-cn';
import moment from 'moment';
import ChildrenCom from './children-com.js';
moment.locale('zh-cn');
const { RangePicker,TimePicker } = DatePicker;
const { Option } = Select; class FormItem extends React.Component{
constructor(props){
super(props);
this.state={
count:1,
time:'',
startTime:new Date(+new Date() +8*3600*1000).toISOString().split("T")[1].split(".")[0]//获取当前时间
};
this.myRef = React.createRef(); } timeChange = (time,timeString)=>{
this.setState({
time:timeString
})
};
      //限制小时显示
disabledHours = ()=>{
let hours=[];
let time = this.state.startTime;
// let time=new Date(+new Date() +8*3600*1000).toISOString().split("T")[1].split(".")[0];
// this.setState({startTime:time},()=>{console.log("11")});
let timeArr = time.split(":");
for(var i=0;i<parseInt(timeArr[0]);i++){
hours.push(i)
}
return hours;
};
    //限制分钟
disabledMinutes = (selectedHour)=>{
let {startTime} = this.state;
let timeArr =startTime.split(":");
let minutes =[];
if(selectedHour == parseInt(timeArr[0])){
for(let i=0;i<parseInt(timeArr[1]);i++){
minutes.push(i);
}
}
return minutes;
};
//限制秒
disabledSeconds = (selectedHour,selectedMinute)=>{
let {startTime} = this.state;
let timeArr = startTime.split(':');
let second = [];
if (selectedHour == parseInt(timeArr[0]) && selectedMinute == parseInt(timeArr[1])) {
for(var i = 0; i <= parseInt(timeArr[2]); i++) {
second.push(i)
}
}
return second;
}; render(){
return(
<div>
<TimePicker
disabledHours = {this.disabledHours}
disabledMinutes = {this.disabledMinutes}
disabledSeconds = {this.disabledSeconds}
value={
this.state.time ? moment(this.state.time,"HH:mm:ss"):moment()
}
onchange={this.timeChange}
format="HH:mm:ss"
/> </div>
)
}
}
export default FormItem;

  

实现效果图如下

antd timePicker组件限制当前之前的时间不可选择的更多相关文章

  1. Flex自定义组件开发之日周月日期选择日历控件

    原文:Flex自定义组件开发之日周月日期选择日历控件         使用过DateField的我们都知道,DateField 控件是用于显示日期的文本字段,字段右侧带有日历图标.当用户在控件边框内的 ...

  2. element-UI时间控件:日期时间的选择范围的控制方法

    例:如一段已知的时间范围,为2018-10-01 - 2019-01-01 :当前为2018-07-09日,则今天以前的时间不能选择,以及2019-01-01以后的时间不能选:实现如下: <el ...

  3. 原生js日期时间插件鼠标点击文本框弹出日期时间表格选择日期时间

    原文出处 (这是我从互联网上搜来的,感觉能满足各方面的需求.个人感觉挺不错的,所以后期修改了一下向大家推荐!) 效果图: html代码: <!DOCTYPE html PUBLIC " ...

  4. layer过去的时间不能选择,只能选择未来的时间 LayUI中的时间日期控件,设置时间范围,

    默认Layui中的时间控件显示如下: 我当时系统时间是2018-06-07, 我需要做的是2018-06-07之后过去的时间不能选择 <p><span>时间范围:</sp ...

  5. asp.net中的时间日期选择控件

    asp.net中的时间日期选择控件 Posted on 2008-07-17 17:37 飛雪飄寒 阅读(22922) 评论(6) 编辑 收藏     在系统中经常需要进行时间日期选择(比如查询时间范 ...

  6. 【2017-05-19】WebForm复合控件、用DropDownList实现时间日期选择。

    自动提交的属性: AutoPostBack="True" 1.RadioButtonList     单选集合 -属性:RepeatDirection:Vertical (垂直排布 ...

  7. TCP超时重传时间的选择

    一---导读 TCP超时重传时间的选择是计算机网络中较复杂的问题之一,但幸好前辈们都把路铺好了,我们只需要学习并且遵循这些规则,有能力的话去进一步改正. 二---必知的一些专业术语 A--RTT( r ...

  8. 使用 antd Table组件, 异步获取数据

    使用React.js + Redux + antd 制作CMS 后台内容管理系统,分享一点点积累,欢迎讨论. 在this.state中初始化数据: this.state = { pageNum:1, ...

  9. 使用antd UI组件有感

    公司使用的的react.js的版本提14.7的,JS版本使用的是ES6语法,因此在使用antd过程中,有些许不愉快的记录,分享给大家,一起学习: 如果是react 14.7版本时,使用getField ...

  10. antd Tree组件中,自定义右键菜单

    最近项目中,有一个需求是自定义antd的Tree组件的右键菜单功能. 直接上代码 class Demo extends Component { state = { rightClickNodeTree ...

随机推荐

  1. Tech&W_STU_Resource_bookmark

    整合资料 1 architecture: Enterprise integration patterns : https://www.enterpriseintegrationpatterns.com ...

  2. lombok.config

    # 声明该配置文件是一个根配置文件,从该配置文件所在的目录开始扫描 config.stopBubbling=true # 全局配置 equalsAndHashCode 的 callSuper 属性为t ...

  3. 打开Access时电脑出现蓝屏,错误编号0x00000116的问题解决

    Windows7 64位旗舰版,在打开Access 2013,Onenote 2013时均会出现蓝屏,现就出现蓝屏问题解决方法给大家做一个分享. 步骤: 1.右击我的电脑,打开设备管理器 2.按顺序1 ...

  4. VSCode 修改终端显示字体 字体间隔过大

    参考链接: https://code84.com/172442.html

  5. ANSI/Unicode字符串简单介绍

    1.1.wchar_t.char区别 ANSI:char,可以用strcat().strcpy().strlen()等str开头的函数处理char*字符串: UNICODE:wchar_t是Unico ...

  6. Spring框架1--IoC

    Spring框架之IoC Spring的后处理器 待补充~ BeanFactoryPostProcessor BeanPostProcessor Bean的生命周期 具体可见图解:点击这里 补充: A ...

  7. WebSocket 基本使用

    1. 引入 WebSocket 包 2. 2.最后测试 WebSocket 谷歌浏览器 F12 ,在 Console 控制台 输入以下测试链接,然后回车测试. ws = new WebSocket() ...

  8. C# RichTextBox跳转到指定行(文本行跳转和显示行跳转)

    文本行跳转: 对禁止自动换行(WordWrap属性为False)有效 1 /// <summary>跳到指定行</summary> 2 private void JumpToL ...

  9. springMVC学习day02

    了解springMVC 1. 了解官网 1.  首先到spring地址去,然后选择项目下面的任何一个子项目,我选择spring framework https://spring.io/ 2.选择spr ...

  10. 哲讯科技携手江苏大摩半导体借助SAP ERP打造数字化转型升级

    项目启动会2022年10月28日,无锡哲讯科技携手江苏大摩半导体科技有限公司SAP ERP系统实施项目启动大会于江苏大摩的上海总部会议室胜利召开.双方项目组核心成员,共同见证了本次SAP ERP实施项 ...