Reactjs 反应表列隐藏

Reactjs 反应表列隐藏,reactjs,react-table-v7,Reactjs,React Table V7,我是一个新的反应和网络开发的一般 我有一个场景,在react中创建一个表,并创建一个框来显示/隐藏其中的列,以及一个全选复选框来显示或隐藏除NAME\u ID列之外的所有列。 我能够通过useTable hook和column.getToggleHiddenProps方法通过对hook的解构调用实现前面的部分 但我无法实现第二部分,我知道我们有GetToggleHidealColumnSprops,但这不允许我除去所需的NAME\u ID列 任何帮助或建议都会很好 有一种方法可以做到这一点。我希

我是一个新的反应和网络开发的一般

我有一个场景,在react中创建一个表,并创建一个框来显示/隐藏其中的列,以及一个全选复选框来显示或隐藏除NAME\u ID列之外的所有列。 我能够通过useTable hook和column.getToggleHiddenProps方法通过对hook的解构调用实现前面的部分

但我无法实现第二部分,我知道我们有GetToggleHidealColumnSprops,但这不允许我除去所需的NAME\u ID列


任何帮助或建议都会很好

有一种方法可以做到这一点。我希望这是一个传递给Columns对象的布尔值,但是我们会得到我们能得到的

有关部分包括:

您需要创建自己的onClick处理程序,而不是使用默认的getToggleHidealColumnSprops道具。列公开一个toggleHidden方法,该方法指示用户尝试切换该特定列时的行为。有些令人沮丧的是,即使您已经为一个列实现了togglehiddellcolumnsprops方法,getToggleHiddellColumnSprops也会完全忽略它,并切换它的隐藏状态。 allColumns.forEachc=>c.id!==firstName&&c.toggleHidden} /> 全部切换 幸运的是,它是一个相当简单的函数——只需迭代columns对象并在每个对象上调用toggleHidden。为了健壮性,我在所需的列中包含了一个禁止调用它的检查,但从技术上讲,您不需要这样做

不知何故,您需要为所需的列定义toggleHidden函数。我在复选框的渲染方法中进行了此操作,但如果在其他地方进行此操作,则效果相同。为列定义toggleHidden函数时,它会按照预期覆盖默认行为。因此,您可以只使用一个返回null的空函数,这将禁用手动关闭该列的功能。 allColumns.mapcolumn=>{ 如果column.id==firstName{ column.toggleHidden==>null; } 返回/*…jsx…*/; }