1 回答
TA贡献1784条经验 获得超8个赞
antD4 表单重新封装时不能使用 setFieldsValue 方法。
当您创建一个 Component 并将 anant Form放入其中时,您不应该期望它的行为就像 an Ant Form(因为您扩展了 a React Component,而不是 an Ant Form)。你需要setFieldsValue,所以你可以像这样实现它:
import React, { PureComponent } from "react";
import { Form as Component } from "antd";
class Form extends PureComponent {
formRef = React.createRef();
render() {
return <Component {...this.props} ref={this.formRef} />;
}
setFieldsValue(v) {
this.formRef.current.setFieldsValue(v);
}
getForm() {
return this.formRef.current;
}
}
Form.Item = Component.Item;
export default Form;
所以你可以使用它:
this.formRef.current.setFieldsValue({
mobile: "110"
});
要么:
this.formRef.current.getForm().setFieldsValue({
mobile: "110"
});
codesandbox 上的演示
添加回答
举报