在 Formik 中,如何让 Reset 按钮 在确认后才 重置表单?
即使您单击取消,我下面的代码仍会重置表单。
var handleReset = (values, formProps) => {
return window.confirm('Reset?'); // still resets after you Cancel :(
};
return (
<Formik onReset={handleReset}>
{(formProps) => {
return (
<Form>
...
<button type='reset'>Reset</button>
</Form>
)}}
</Formik>
);
原文由 Aximili 发布,翻译遵循 CC BY-SA 4.0 许可协议
我不完全确定,但我认为您将不得不编写自己的重置功能,而无需使用
reset
类型的按钮。像这样的东西:如果您真的想使用
onReset
,我认为唯一的方法是抛出错误。 Formik 源代码 似乎表明resetForm()
无论您的onReset()
函数返回什么都会被调用。尽管我个人仍然会使用第一个解决方案。