因为 onValuesChange 的执行总是在 validation 之前,所以 validateFields 会报错且 outOfDate 显示 true,解决办法加 setTimeout
const valueChange = () => {
setTimeout(() => {
form
.validateFields(["name", "age"])
.then((res) => console.log("res", res))
.catch((err) => console.log("err", err));
});
};
<Form form={form} onValuesChange={valueChange}>
...
</Form>
当onValuesChange触发时,其执行顺序在validation之前,这会导致validateFields方法出错并返回outOfDate为true。为了解决这个问题,文章提出了使用setTimeout包裹validateFields调用,确保在正确的时机执行验证操作,从而避免错误。
2万+

被折叠的 条评论
为什么被折叠?



