如何在Typescript中使用Form.create并与功能组件配合使用

时间:2019-04-24 08:04:09

标签: reactjs typescript antd

我有一个由Form.create()创建的表单,但是我无法编译成功。

错误,例如:

Argument of type 'FunctionComponent<MyProps>' is not assignable to parameter of type 'ComponentType<{}>'.
  Type 'FunctionComponent<MyProps>' is not assignable to type 'FunctionComponent<{}>'.
    Type '{}' is missing the following properties from type 'MyProps': form, and 2 more

我的代码是:

import { FormComponentProps } from "antd/lib/form";

interface MyProps extends FormComponentProps {
   form: any;
}

const TableQuery: FunctionComponent<MyProps> = (props: MyProps) => {
 // some code
};

const WrappedTableQuery = Form.create<MyProps>()(TableQuery)

export default WrappedTableQuery;

如何解决此错误。

1 个答案:

答案 0 :(得分:3)

我认为这是Ant Design中TypeScript定义的错误:
https://github.com/ant-design/ant-design/issues/16229(中文)
https://github.com/ant-design/ant-design/issues/16095#issuecomment-485709670(英语)

它出现在版本3.16.4(于2019-04-21发布)中,并且仍存在于版本3.16.5中。
您可以使用以前的版本("antd": "3.16.3"),直到部署此修补程序为止。