Reactjs 我怎样才能加上?’;“可编辑单元格”;对于Ant Design中的分组列?

Reactjs 我怎样才能加上?’;“可编辑单元格”;对于Ant Design中的分组列?,reactjs,antd,Reactjs,Antd,尽管我已将“Building”列单元格添加为editable:true 我无法获得与列行单元格类似的可编辑选项。这是因为它映射到列上,仅在顶级列上检查可编辑标志,而不是在存储子列数据的子列数组中。您需要更改map函数来检查子项并相应地替换它们的onCell属性。您可以尝试替换: const columns = this.columns.map(col => { if (!col.editable) { return col; } retu

尽管我已将“Building”列单元格添加为
editable:true

我无法获得与列行单元格类似的可编辑选项。

这是因为它映射到列上,仅在顶级列上检查
可编辑
标志,而不是在存储子列数据的
子列
数组中。您需要更改map函数来检查子项并相应地替换它们的
onCell
属性。您可以尝试替换:

const columns = this.columns.map(col => {
      if (!col.editable) {
        return col;
      }
      return {
        ...col,
        onCell: record => ({
          record,
          editable: col.editable,
          dataIndex: col.dataIndex,
          title: col.title,
          handleSave: this.handleSave,
        }),
      };
    });
使用它自己的函数,并递归地将其应用于子对象


const mapColumns = col => {
      if (!col.editable) {
        return col;
      }
      const newCol = {
        ...col,
        onCell: record => ({
          record,
          editable: col.editable,
          dataIndex: col.dataIndex,
          title: col.title,
          handleSave: this.handleSave
        })
      };
      if (col.children) {
        newCol.children = col.children.map(mapColumns);
      }
      return newCol;
    };

    const columns = this.columns.map(mapColumns);

Fork.

您的示例“codesandbox”现在不起作用,请更新好吗?写了一句话:“我做了另一个,现在可以了。克里斯B。非常感谢!”