阅读 259

React搭配Antd之使用RangePicker踩坑

需求:设置默认的时间,使用属性defaultValue的时候发现会显示当前的时间整点,需要设置一个时间为当前的时间前五分钟的数据为默认值; 最后发现,只是单纯的设置defaultValue是有问题的,需要value和defaultValue搭配使用

image.png

startTimes是获取的当前时间之前的五分钟时间,endTime是当前的时间,DateFormat是日期格式

    const DateFormat = 'YYYY-MM-DD HH:mm:ss';
    <Form.Item label="选择日期:">
        <RangePicker
          defaultValue={[moment(startTime), moment(endTime)]}
          value={[moment(startTime, DateFormat), moment(endTime, DateFormat)]}
          showTime
          format={DateFormat}
          key={this.state.keyValue}
          onChange={this.test}
        />
      </Form.Item>
      //获取当前时间的前五分钟
  getNowFormatDate = () => {
    var date = new Date();
    var seperator1 = '-';
    var seperator2 = ':';
    //前十分钟时间
    var minutes = parseInt('5');
    var interTimes = minutes * 60 * 1000;
    var interTimes = parseInt(interTimes);
    date = new Date(Date.parse(date) - interTimes);

    var month = date.getMonth() + 1;
    var strDate = date.getDate();
    var hour = date.getHours();
    var minutes = date.getMinutes();
    var seconds = date.getSeconds();
    if (month >= 1 && month <= 9) {
      month = '0' + month;
    }
    if (strDate >= 0 && strDate <= 9) {
      strDate = '0' + strDate;
    }
    if (hour >= 0 && hour <= 9) {
      hour = '0' + hour;
    }
    if (minutes >= 0 && minutes <= 9) {
      minutes = '0' + minutes;
    }
    if (seconds >= 0 && seconds <= 9) {
      seconds = '0' + seconds;
    }
    var currentdate =
      date.getFullYear() +
      seperator1 +
      month +
      seperator1 +
      strDate +
      ' ' +
      hour +
      seperator2 +
      minutes +
      seperator2 +
      seconds;
    return currentdate;
  };
  //获取当前时间
  getNowTimeFormatDate = () => {
    var date = new Date();
    date.setMinutes(3);
    var seperator1 = '-';
    var seperator2 = ':';
    //前十分钟时间
    var interTimes = minutes * 60 * 1000;
    var interTimes = parseInt(interTimes);
    date = new Date();
    var month = date.getMonth() + 1;
    var strDate = date.getDate();
    var hour = date.getHours();
    var minutes = date.getMinutes();
    var seconds = date.getSeconds();
    if (month >= 1 && month <= 9) {
      month = '0' + month;
    }
    if (strDate >= 0 && strDate <= 9) {
      strDate = '0' + strDate;
    }
    if (hour >= 0 && hour <= 9) {
      hour = '0' + hour;
    }
    if (minutes >= 0 && minutes <= 9) {
      minutes = '0' + minutes;
    }
    if (seconds >= 0 && seconds <= 9) {
      seconds = '0' + seconds;
    }
    var currentdate =
      date.getFullYear() +
      seperator1 +
      month +
      seperator1 +
      strDate +
      ' ' +
      hour +
      seperator2 +
      minutes +
      seperator2 +
      seconds;
    return currentdate;
  };  
复制代码

最后结果如图;

image.png


作者:安安小菜鸟
链接:https://juejin.cn/post/7024321383370866696


文章分类
后端
版权声明:本站是系统测试站点,无实际运营。本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 XXXXXXo@163.com 举报,一经查实,本站将立刻删除。
相关推荐