4

在这里,我提供了我在代码沙盒上工作的示例。提交表单后如何重置日期选择器值?

    state = {
        setFieldValue: ''
    }

    onChange = (setFieldValue) => {
        this.setState({ setFieldValue: null })
      }


    render() {
        const { values, handleSubmit } = this.props
        return (
            <div align="center">
                <Form onSubmit={handleSubmit}>

                             <Field
                                name="dateofbirth"
                                label="dateOfBirth"
                                component={DateInput}
                                formitemlayout={formItemLayout}
                                value={this.state.setFieldValue}
                                onChange={this.onChange}


                            />


                            <Button type="primary" 
          htmlType="submit">Submit</Button>
}

我的工作代码和框链接是在此处输入链接描述

4

2 回答 2

9

最好不要添加空字符串,因为它会引发 propType 错误null

<DatePicker
  onChange={(date, dateString) =>
    setFieldValue("dateofbirth", dateString)
  }
  value={dateofbirth !== "" ? moment(dateofbirth) : null}
/>
于 2019-06-24T10:17:39.613 回答
6

您的 Datepicker 不是受控组件。我将其转换为受控组件,并在表单提交后重置日期字段。

<DatePicker
  onChange={(date, dateString) =>
    setFieldValue("dateofbirth", dateString)
  }
  value={dateofbirth !== "" ? moment(dateofbirth) : ""}
/>

代码沙盒链接

于 2019-02-28T12:45:50.270 回答