今天使用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
);
有参考此文