Skip to content

Table组件使用fixed属性报错 #3772

Closed
@omnip620

Description

@omnip620

发生问题的环境是:

  • antd 版本:2.3.1
  • typescript版本:2.1.1

按照官网提供的示例代码

columns=[
...
 {
    title:'操作',
    key:'operation',
    fixed: 'right',
    width: 200
 }
...
]

编译过程报错
Type 'string' is not assignable to type 'boolean | "left" | "right"'.

除非写成 fixed:'right' as 'right'

期待的结果是:

怎么能像官网一样的写法不报错

Activity

yesmeck

yesmeck commented on Nov 9, 2016

@yesmeck
Member

好像是 typescript 的正常行为。

afc163

afc163 commented on Nov 9, 2016

@afc163
Member

。。。这么变态

yesmeck

yesmeck commented on Nov 9, 2016

@yesmeck
Member
type Foo = boolean | 'left' | 'right';

let foo = 'right';
const bar: Foo = foo;

这里 foo 的类型是 string,不能直接 assign 给 bar

infeng

infeng commented on Nov 9, 2016

@infeng
Contributor

我这边不会提示这个错误

yesmeck

yesmeck commented on Nov 9, 2016

@yesmeck
Member

@infeng 你 typescript 是什么版本?

infeng

infeng commented on Nov 9, 2016

@infeng
Contributor

2.0.8

yesmeck

yesmeck commented on Nov 9, 2016

@yesmeck
Member

@infeng 我用 2.0.8 也有这个错误。。。

infeng

infeng commented on Nov 9, 2016

@infeng
Contributor

原来我看错了,也是有这个错误。。。

infeng

infeng commented on Nov 9, 2016

@infeng
Contributor
import { TableColumnConfig } from 'antd/lib/table/Table';
let columns: TableColumnConfig[] = [{
  title: 'name',
  fixed: 'right',
}];

这样写可以省点功夫,不用每个fixed都写asO(∩_∩)O

yesmeck

yesmeck commented on Nov 9, 2016

@yesmeck
Member

@infeng TableColumnConfig[]这样会报错吧,TableColumnConfig 需要一个 generic type 的。

import React, { Component } from 'react';
import { Table } from 'antd';
import { TableColumnConfig } from 'antd/lib/table/Table';

interface Person {
  name: string;
}

const columns: TableColumnConfig<Person>[] = [{
  title: 'Name',
  dataIndex: 'name',
  fixed: 'right',
}];

const data: Person[] = [{
  name: 'Jack',
}];

class PersonTable extends Table<Person> {}

class App extends Component<null, null> {
  render() {
    return (
      <PersonTable columns={columns} dataSource={data} />
    )
  }
}
infeng

infeng commented on Nov 9, 2016

@infeng
Contributor

对,最新版的是要加generic,我忘记我用的antd还是2.1.0,还没有加上generic

omnip620

omnip620 commented on Nov 9, 2016

@omnip620
Author

@infeng @yesmeck 偷了个懒
columns: TableColumnConfig<any>[]=...

lock

lock commented on May 3, 2018

@lock

This thread has been automatically locked because it has not had recent activity. Please open a new issue for related bugs and link to relevant comments in this thread.

locked as resolved and limited conversation to collaborators on May 3, 2018
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

      Development

      No branches or pull requests

        Participants

        @yesmeck@afc163@omnip620@infeng

        Issue actions

          Table组件使用fixed属性报错 · Issue #3772 · ant-design/ant-design