因为 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>