今天使用antd的DatePiacker发现问题如下:

发现onChange函数中的value是moment格式的,如果直接传的话会是XXXTXXXZ这种格式,不过后面发现有一个dateString参数是YYYYMMDD hh:mm:ss格式的;

但是在onOk中其参数貌似只有一个value,而且也是moment格式的,这里需要对其进行转化为想要的YYYYMMDD hh:mm:ss格式,

如何转化呢?

在onOk 函数中  moment(value).format('YYYY-MM-DD HH:mm:ss') //这么解决的

 

import { DatePicker } from 'antd';
import moment form 'moment';
const { RangePicker } = DatePicker;

function onChange(value, dateString) {
  console.log('Selected Time: ', value); 
  console.log('Formatted Selected Time: ', dateString);
}

function onOk(value) {
  console.log('onOk: ', value);
  value = moment(value).format('YYYY-MM-DD HH:mm:ss') //这么解决的
}

ReactDOM.render(
  <div>
    <DatePicker
      showTime
      placeholder="Select Time"
      onChange={onChange}
      onOk={onOk}
    />
    <br />
    <RangePicker
      showTime={{ format: 'HH:mm' }}
      format="YYYY-MM-DD HH:mm"
      placeholder={['Start Time', 'End Time']}
      onChange={onChange}
      onOk={onOk}
    />
  </div>,
  mountNode
);

 

有参考此文

react+antd系列之日期选择框DatePicker

https://blog.csdn.net/hope93/article/details/85236194

Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐