动态设置react-table的show属性不会显示或隐藏列

时间:2019-06-24 17:18:24

标签: reactjs setstate semantic-ui-react react-table

我正在将react-table用于数据网格。我正在实现一个设置图标,该图标显示列的列表,并根据选择显示或隐藏该列。我为此操作列对象的“显示”属性。在正确设置属性后,表中没有此类更改。有人可以帮我吗?

但是当我直接设置属性(在App组件中)时,它可以工作。我要去哪里错了?

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

我们将不胜感激

1 个答案:

答案 0 :(得分:1)

问题出在您的选择中

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);