react使用laydate

最近项目中使用的是react+antd,因为设置秒杀活动需要用到时间场次,需要控制最大时间和最小时间,个人觉得antd的时间控件不太好用,所以就使用了layui里面的laydate控件

首先下载依赖

npm install layui-laydate

使用laydate


import React,{Component} from 'react';

class LaydateComponent extends Component {

  constructor(props) {
    super(props);
    this.startInputRef = React.createRef();
    this.endInputRef = React.createRef();
  }
  
	state={
		range:{
	        startDate:'2019-12-27 18:04:00', // 定义开始时间
	        endDate:'2019-12-30 18:04:00' //定义结束时间
	    }
	}
  
  componentDidMount() {
    const {range:{startDate,endDate}} = this.state;
    const dom1 =  laydate.render({
        elem: this.startInputRef.current, // 指定开始时间元素
        type:'datetime',
        min:startDate,
        max:endDate,
        done: (value, date)=>{
            console.log(value); // 得到日期生成的值,如:2017-08-18
           
            dom2.config.min={...date,month:date.month-1} // 选择完开始时间之后重新渲染laydate,这里需注意月份是从0开始的,所以需要减1
            console.log(dom2)
        }
    });

    const dom2 =laydate.render({
        elem: this.endInputRef.current, // 指定结束时间元素
        type:'datetime',
        min:startDate,
        max:endDate,
        done: (value, date)=>{
            console.log(value); // 得到日期生成的值,如:2017-08-18
        }
    });
  }
	


  render(){
    return (
      <div>
		<input readOnly className='ant-calendar-picker-input ant-input' type="text" placeholder='请选择开始时间' ref={this.startInputRef} />
		<input readOnly className='ant-calendar-picker-input ant-input' type="text" placeholder='请选择结束时间' ref={this.endInputRef} />
	  </div>
    )
  }
}
export default LaydateComponent

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值