New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Table组件类型问题:Table组件中defaultProps.rowSelection 为 null;但在TableProps 中,rowSelection 为 TableRowSelection<T> | undefined #10374

Closed
jinboker opened this Issue May 5, 2018 · 1 comment

Comments

Projects
None yet
2 participants
@jinboker

jinboker commented May 5, 2018

  • I have searched the issues of this repository and believe that this is not a duplicate.

Version

3.5.0

Environment

typescript 2.8.3

Reproduction link

https://github.com/ant-design/ant-design/blob/master/components/table/Table.tsx#L83

Steps to reproduce

interface InjectedProps {}

const Container = <T extends {}>(WrappedComponent: React.ComponentClass<T>) => {
    type Props = T & InjectedProps;
    
    return class HOC extends React.Component<Props, State> {
        // ....
    }
}

Container(Table);  // error

Error:(170, 42) TS2345: Argument of type 'typeof Table' is not assignable to parameter of type 'ComponentClass<TableProps<{}>>'.
Types of property 'defaultProps' are incompatible.
Type '{ dataSource: never[]; prefixCls: string; useFixedHeader: boolean; rowSelection: null; className:...' is not assignable to type 'Partial<TableProps<{}>> | undefined'.
Type '{ dataSource: never[]; prefixCls: string; useFixedHeader: boolean; rowSelection: null; className:...' is not assignable to type 'Partial<TableProps<{}>>'.
Types of property 'rowSelection' are incompatible.
Type 'null' is not assignable to type 'TableRowSelection<{}> | undefined'.

What is expected?

类型校验通过

What is actually happening?

类型校验不通过

@ant-design-bot

This comment has been minimized.

ant-design-bot commented May 5, 2018

Translation of this issue:


Table component type problem: defaultProps.rowSelection in the Table component is null; but in TableProps, rowSelection is TableRowSelection | undefined

  • [] I have searched the issues of this repository and believe that this is not a duplicate.

Version

3.5.0

Environment

Typescript 2.8.3

Reproduction link

[https://github.com/ant-design/ant-design/blob/master/components/table/Table.tsx#L83] (https://github.com/ant-design/ant-design/blob/ Master/components/table/Table.tsx#L83)

Steps to reproduce

Interface InjectedProps {}

Const Container = <T extends {}>(WrappedComponent: React.ComponentClass<T>) => {
    Type Props = T & InjectedProps;
    
    Return class HOC extends React.Component<Props, State> {
        // ....
    }
}

Container(Table); // error

Error:(170, 42) TS2345: Argument of type 'typeof Table' is not assignable to parameter of type 'ComponentClass<TableProps<{}>>'.

  Types of property 'defaultProps' are incompatible.

    Type '{ dataSource: never[]; prefixCls: string; useFixedHeader: boolean; rowSelection: null; className:...' is not assignable to type 'Partial<TableProps<{}>> | undefined'.

      Type '{ dataSource: never[]; prefixCls: string; useFixedHeader: boolean; rowSelection: null; className:...' is not assignable to type 'Partial<TableProps<{}>>'.

        Types of property 'rowSelection' are incompatible.

          Type 'null' is not assignable to type 'TableRowSelection<{}> | undefined'.

What is expected?

Type verification passed

What is actually happening?

Type check does not pass

@yesmeck yesmeck closed this in 8a6d9b9 May 7, 2018

bors bot added a commit to mozilla/delivery-console that referenced this issue May 10, 2018

Merge #158
158: Update dependency antd to v3.5.1 r=rehandalal a=renovate[bot]

This Pull Request updates dependency [antd](https://github.com/ant-design/ant-design) from `v3.5.0` to `v3.5.1`



<details>
<summary>Release Notes</summary>

### [`v3.5.1`](https://github.com/ant-design/ant-design/releases/3.5.1)
[Compare Source](ant-design/ant-design@3.5.0...3.5.1)
- 🐞 Fixed broken style of Input.Group under Form. [#&#8203;10371](`ant-design/ant-design#10371)
- 🐞 Fixed overlay style of Select. [#&#8203;10383](`ant-design/ant-design#10383)
- 🐞 Remove focused style of Collapse.
- 🐞 Remove unnecessary `z-index` of Input.Group and Checkbox. [#&#8203;9840](`ant-design/ant-design#9840) [#&#8203;10385](`ant-design/ant-design#10385)
- 🐞 Fixed that monospaced font family can't be bold.
- Table
  - 💄 Rewrited the editable table demo. [#&#8203;10119](`ant-design/ant-design#10119)
  - 🐞 Fixed that table column overlay each other. [#&#8203;9822](`ant-design/ant-design#9822)
- TypeScript
  - 🐞 Fixed Breadcrumb.Item type. [#&#8203;10372](`ant-design/ant-design#10372) [@&#8203;karol-majewski]
  - 🐞 Fixed Table `rowSelection` type。[#&#8203;10374](`ant-design/ant-design#10374)


---


- 🐞 修复 Input.Group 在 Form 下样式错位的问题。[#&#8203;10371](`ant-design/ant-design#10371)
- 🐞 修复 Select 箭头和内容重叠的问题。[#&#8203;10383](`ant-design/ant-design#10383)
- 🐞 移除 Collapse 点击时的 focus 样式。
- 🐞 移除 Input.Group 和 Checkbox 不必要的 `z-index`。[#&#8203;9840](`ant-design/ant-design#9840) [#&#8203;10385](`ant-design/ant-design#10385)
- 🐞 修复一个数字等宽字体没有加粗的问题。
- Table
  - 💄 重写了可编辑表格的演示。[#&#8203;10119](`ant-design/ant-design#10119)
  - 🐞 修复一个表格列内容互相重叠的问题。[#&#8203;9822](`ant-design/ant-design#9822)
- TypeScript
  - 🐞 调整 Breadcrumb.Item 的类型。[#&#8203;10372](`ant-design/ant-design#10372) [@&#8203;karol-majewski]
  - 🐞 修复 Table 的 `rowSelection` 的类型。[#&#8203;10374](`ant-design/ant-design#10374)

---

</details>




---

This PR has been generated by [Renovate Bot](https://renovatebot.com).

Co-authored-by: Renovate Bot <bot@renovateapp.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment