4

提前感谢您的帮助。

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

在此处输入图像描述

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

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

在此处输入图像描述

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

4

1 回答 1

3

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

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