动态设置 show 属性 of react-table 不显示或隐藏列,反之亦然

Dynamically setting show property of react-table does not show or hide columns viceversa

我将 react-table 用于数据网格目的。我正在实现一个显示列列表的设置图标,并根据选择显示或隐藏该列。我正在为此操作列对象的 "show" 属性。虽然 属性 设置正确,但 table 没有这样的变化。谁能帮我解决这个问题。

但是当我直接(在 App 组件中)设置 属性 时它起作用了。我哪里错了?

代码沙箱:https://codesandbox.io/s/blue-cherry-di3ub

不胜感激

问题出在您的 Select

this.props.handleSetState(this.props.data)

this.props.data 是不可变的,因此您只需发回传入的相同数据。将 props.data 流式传输到一个新对象中,然后将其发送回父对象。

ETA:像这样的……

    let updatedObj = this.props.data.map((obj, i) => {
      if (obj.accessor === value[i]) {
        obj.show = false
      }
      return obj
    })
    this.props.handleSetState(updatedObj);