Ant Design Table 既可排序又可编辑

Ant Design Table which is both sortable and editable

我正在尝试创建一个既是 sortable 又是 editable 的 Ant.Design table。 Ant.Design 文档显示了两者的示例代码 (here and here). I tried to combine these in a minimal code repository here: https://github.com/Silox/Ant-Design--EditableSortableTable.

主要问题是 table 在编辑值时被重新排序,我还没有找到防止这种情况的方法。我正在寻找的行为是,当用户编辑单元格时,排序为 "on hold",当用户完成编辑时,排序为 table。有没有人知道如何实现这个?

这个怎么样:

  • 将布尔状态 editing 添加到 EditableSortableTable
  • setEditable/setNotEditable设置为isEditableMap.length > 0

  • 对于 EditableSortableTable 添加:

shouldComponentUpdate(nextProps, nextState) { return !(nextState.editing && this.state.editing) }

[更新] 鉴于 使用 shouldComponentUpdate() 的要求,您可以引入一个新的 _sortTitle 道具在 table objects 上并根据此道具对行进行排序。此道具未渲染,但在安装时设置为 title,然后仅在标题单元格编辑完成后更新。