1

在我使用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>

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

4

1 回答 1

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>
    )}
  }
]

于 2018-06-25T12:26:23.340 回答