React Typescript:Ant Design Table with Dropdown Column pass Record to function

React Typescript: Ant Design Table with Dropdown Column pass Record to function

正在关注 Column

{ title: "Action", render: (record: ToDoClass) => { //<- this record
   return (
      <Dropdown overlay={menu}>
         <Button>
            User <DownOutlined />
         </Button>
      </Dropdown>
   )
}},

menu:

const menu = (
   <Menu onClick={updateUser}>
      <Menu.Item key="0" />
      <Menu.Item key="1">User 1</Menu.Item>
      <Menu.Item key="2">User 2</Menu.Item>
   </Menu>
);

必须使用来自 columns 的参数 record 和来自 menukey 调用 function: updateUser:

const updateUser = ({ key }: { key: React.Key }): void => { //<- need record here
   console.log(key);
};

基于 documentationonClick 道具接受一个接受对象 { item, key, keyPath, domEvent } 的函数。您可以尝试将 _updateUsermenu 更改为如下内容:

<Menu onClick={this._updateUser}>
...
private _updateUser = ({ item, key }: { item: ToDoClass, key: any }): void => {
   console.log(item, key);
}

这是我根据您的代码创建的an example。请注意 onClick 分配方式的差异。另外,由于 item 是循环的,打印时会导致浏览器崩溃。