小编典典
您可以尝试使用组件的 Submit 属性
。根据文档
提交数据以填写表格。您可以加载先前的提交,也可以使用一些预填充的数据创建提交。如果您不提供提交,则表单将使用表单中的默认值初始化一个空提交。
因此,在这种情况下,您可以控制父组件中的组件。
这submissionData是父组件的状态,组件使用父组件的状态进行初始化(最初为空值)。
现在,在onSubmit处理程序内部,您可以尝试重置状态并强制重新渲染。
onSubmit={() => {
// Reset submission data
setSubmissionData({});
};
}
完整的代码如下所示。
export default () => {
const [submissionData, setSubmissionData] = useState({});
return (
//all form props
submission={{ data: submissionData }}
onSubmit={() => {
var promise1 = new Promise(function(resolve, reject) {
setTimeout(function() {
resolve("foo");
}, 300);
});
promise1.then(function(value) {
alert(value);
// Reset submission data
setSubmissionData({});
});
}}
/>
}
附加的codesandbox链接作为注释。
2020-07-22