在 Ant 设计表中使用输入

MBe*_*mam 1 reactjs antd

在我的应用程序中,我使用Ant 设计表我的代码如下:

<Table size="small" dataSource={this.props.actionArray}>
            <Column title="Name" dataIndex="id" key="name"/>
            <Column title="Action" key="action"
            render={(text,record)=>(
                <span>
                    <a href="" >Edit</a>
                    <span className="ant-divider"/>
                    <a href="" >Delete</a>
                </span>
            )}
            />

        </Table>
Run Code Online (Sandbox Code Playgroud)

我希望当用户单击Edit整行表格时呈现为<Input type="text"/>而不是普通文本,因此用户可以编辑行数据,也可以在用户单击时自定义保存按钮调用函数(例如 save() ),但我不不知道怎么做。

fro*_*ton 6

尝试这样的事情。保存状态中的编辑记录 id 并根据该显示或隐藏输入:

columns = [
  {
    title: 'Name',
    render: (text, record) =>
      record.id === this.state.editingId ? (
        <Input type="text"/>
      ) : (
        text
      ),
  },
  {
    title: "Action",
    render: (text, record) => (
      <span>
        <a href="" >Edit</a>
        <span className="ant-divider"/>
        <a href="" >Delete</a>
      </span>
    )}
  }
]
Run Code Online (Sandbox Code Playgroud)