【问题标题】:Create nested table using react-table v7使用 react-table v7 创建嵌套表
【发布时间】:2021-06-10 23:31:41
【问题描述】:

提前感谢您的帮助。

我要解决的问题是使用 react-table v7 创建一个表,并在该表中使用展开并显示另一个表,其中包含与第一个选择相关的数据,因为它附加在图像中。

这是图像的codesandbox 示例,我想做同样的事情,但使用最新版本的 react-table,我尝试使用子组件,但这些只显示数据,而不是它们拥有的标题,因此我无法在子表中进行排序和搜索

我试图在子组件中只渲染另一个反应表实例,但看起来它总是停留在第一列:

有没有人有一个看起来像参考图片中的示例可以帮助我?

【问题讨论】:

    标签: reactjs react-table nested-table react-table-v7


    【解决方案1】:

    因为 react-table v7 是无头的,所以你真的可以通过多种方式来解决这个问题。至少,您需要一种方法来控制打开的行,并让该行将其内容呈现为子行。我以forked react-table v7 Basic Table 示例为例。以下是我所做的基本更改,您可以将其应用于您自己的用例:

    • 为了控制打开的行,创建了一个名为“open”的状态变量,它对应于正在显示内容的行的 id(或 false,如果没有)。做这种逻辑的方法有无数种,也不一定需要由父 Table 组件来控制。例如,如果您的 Rows 本身都是组件,那么它们可以跟踪自己的“打开”状态。
    • 然后将子组件添加为父 Table 的子组件,父 Table 将其作为称为“children”的道具传递给它。然后根据上述“打开”状态变量有条件地将其呈现在自己的行中。在这里,它纯粹呈现为 {children},但如果您要将数据从父组件向下传递到表的子组件,则更复杂的用例可以使用 React.cloneElement 或类似的。

    【讨论】:

      猜你喜欢
      • 2020-02-26
      • 2023-04-07
      • 2020-05-02
      • 1970-01-01
      • 1970-01-01
      • 2020-12-21
      • 2019-12-27
      • 2017-05-30
      • 1970-01-01
      相关资源
      最近更新 更多