export interface Column<T> {
dataIndex: keyof T;
title: ReactNode;
render: (value: any, record: T, index: number) => ReactNode;
}
const Person = { name: "John", age: 10 };
const cols: Column<Person> = [
{
dataIndex: "name", // this has autocompletion
title: "Client Name",
render: (v) => v.toLowerCase() // v is of type any, no autocompletion
}
]
我想基于 T & dataIndex 动态定义 render 的第一个参数 value, 大概像这样
value: typeof Person["dataIndex"]
可是 ts 不太熟悉,上网也没查到如何在 interface 里面去 reference 实例的方法,求助
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.