使用typescript的react项目中,如何声明antd的formRef的类型?

发布于 2022-09-12 13:44:41 字数 456 浏览 21 评论 0

代码如下:

class App extends Component<Tprops, Tstate>{

   formRef: React.RefObject<unknown> 
   
   ......
   this.formRef = React.createRef();
   
   dosth = () => {
     // 报错 类型“RefObject<unknown>”上不存在属性“validateFields”。
     this.formRef.validateFields(...);
   }
   
   render(){
     return <Form ref={formRef}>
      ...
     </Form>
   }
}

我应该如何声明formRef这个属性的类型呢?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

花期渐远 2022-09-19 13:44:41

参考 antd 中关于 form 部分的源代码

const Form = React.forwardRef<FormInstance, FormProps>(InternalForm) as <Values = any>(
  props: React.PropsWithChildren<FormProps<Values>> & { ref?: React.Ref<FormInstance<Values>> },
) => React.ReactElement;

这么写就ok了

const ref = React.createRef<FormInstance>();
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文