问题描述:
TimePicker组件
格式化时间值不对
正确时间是09:02,可是格式化之后变成了19:02
问题代码:
// 获取数据
const getEditData = () => {
getBody(`${Api.checkon.rules.get}/${data.id}`)
.then((r) => {
// form.setFieldsValue(r.data);
form.setFieldsValue({
...r.data,
beginTime: moment(r.data.beginTime, 'HH:mm' ),
endTime: moment(r.data.endTime, 'HH:mm')),
});
setRuleTypeView({ disabled: true });
});
};
<Row>
<Col span={12}>
<Form.Item
name="beginTime"
key="beginTime"
label="考勤开始时间"
labelCol={layoutLabelCol}
wrapperCol={layoutWrapperCol}
rules={[{
required: true,
message: '请选择下午考勤次数',
}]}
style={{ width: '100%' }}>
<TimePicker
format="HH:mm"
placeholder="请选择考勤开始时间"
onChange={onBeginPickerChange} />
</Form.Item>
</Col>
</Row>
修改后:
// 获取数据
const getEditData = () => {
getBody(`${Api.checkon.rules.get}/${data.id}`)
.then((r) => {
// form.setFieldsValue(r.data);
form.setFieldsValue({
...r.data,
beginTime: moment(r.data.beginTime),
endTime: moment(r.data.endTime),
});
setRuleTypeView({ disabled: true });
});
};
问题就出在格式化上,所以不要指定格式;
盲猜:是因为TimePicker组件上写了指定格式