提交时如何从表单中的 WeekPicker 获取自定义周值
How to get a custom week value from a WeekPicker in a Form when I submit it
我是 ant-design-pro
的新手,我正在编写一个示例项目来帮助我的队友提高效率。
现在我遇到了一个问题,我无法从 WeekPicker
中的 Form
中获取自定义格式的周值,Query String Parameters
中的周值是 week: "2019-12-11T08:45:42.884Z"
应该是 YYYYw
格式,比如 week: 201950
.
这是我定义表格的方式:
...
<Form onSubmit={this.handleSearch} layout="inline">
...
<FormItem label="">
{getFieldDecorator('week')(<WeekPicker placeholder="周" format={'YYYYw'} />)}
</FormItem>
...
</Form>
...
这里是函数代码:
handleSearch = (e: React.FormEvent) => {
e.preventDefault();
const { dispatch, form } = this.props;
form.validateFields((err, fieldsValue) => {
if (err) return;
const values = {
...fieldsValue,
}
...
dispatch({
type: 'listAndtableList/fetch',
payload: values,
});
});
}
表单自动获取每个字段值,它没有注意到我在WeekPicker
中定义了一个格式,谁能帮忙?
问过蚂蚁金服的工程师是哪家公司开发的ant-design-pro
,得到了答案
WeekPicker
总是输入或输出一个moment
对象,因为可能存在时区问题,所以我们需要自己处理,虽然我们已经在其中设置了格式。
解决方法如下:
form.validateFields((err, fieldsValue) => {
if (err) return;
const weekMoment = fieldsValue['week'];
const week = weekMoment.format('YYYYw');
...
});
我是 ant-design-pro
的新手,我正在编写一个示例项目来帮助我的队友提高效率。
现在我遇到了一个问题,我无法从 WeekPicker
中的 Form
中获取自定义格式的周值,Query String Parameters
中的周值是 week: "2019-12-11T08:45:42.884Z"
应该是 YYYYw
格式,比如 week: 201950
.
这是我定义表格的方式:
...
<Form onSubmit={this.handleSearch} layout="inline">
...
<FormItem label="">
{getFieldDecorator('week')(<WeekPicker placeholder="周" format={'YYYYw'} />)}
</FormItem>
...
</Form>
...
这里是函数代码:
handleSearch = (e: React.FormEvent) => {
e.preventDefault();
const { dispatch, form } = this.props;
form.validateFields((err, fieldsValue) => {
if (err) return;
const values = {
...fieldsValue,
}
...
dispatch({
type: 'listAndtableList/fetch',
payload: values,
});
});
}
表单自动获取每个字段值,它没有注意到我在WeekPicker
中定义了一个格式,谁能帮忙?
问过蚂蚁金服的工程师是哪家公司开发的ant-design-pro
,得到了答案
WeekPicker
总是输入或输出一个moment
对象,因为可能存在时区问题,所以我们需要自己处理,虽然我们已经在其中设置了格式。
解决方法如下:
form.validateFields((err, fieldsValue) => {
if (err) return;
const weekMoment = fieldsValue['week'];
const week = weekMoment.format('YYYYw');
...
});