Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/27.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Reactjs 动态设置react表的show属性不会显示或隐藏列,反之亦然_Reactjs_Setstate_Semantic Ui React_React Table - Fatal编程技术网

Reactjs 动态设置react表的show属性不会显示或隐藏列,反之亦然

Reactjs 动态设置react表的show属性不会显示或隐藏列,反之亦然,reactjs,setstate,semantic-ui-react,react-table,Reactjs,Setstate,Semantic Ui React,React Table,我使用react表用于数据网格。我正在实现一个设置图标,它显示列列表,并根据选择显示或隐藏列。我正在为此操作columns对象的“show”属性。虽然属性设置正确,但表中没有此类更改。有人能帮我吗 但是,当我直接设置属性(应用程序内组件)时,它可以工作。我哪里做错了 代码沙盒: 非常感谢您的帮助问题在您的选择中 this.props.handleSetState(this.props.data) this.props.data是不可变的,因此您只需返回传入的相同数据。将props.data流式

我使用react表用于数据网格。我正在实现一个设置图标,它显示列列表,并根据选择显示或隐藏列。我正在为此操作columns对象的“show”属性。虽然属性设置正确,但表中没有此类更改。有人能帮我吗

但是,当我直接设置属性(应用程序内组件)时,它可以工作。我哪里做错了

代码沙盒:


非常感谢您的帮助

问题在您的选择中

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

埃塔:像这样的

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

谢谢你的回答。你有没有可能分享这个逻辑?我是个新手,我想我只是用错了。我以为复选框是用来指示哪些是隐藏的,哪些不是。它只是在那里翻转它们,在这种情况下,你的逻辑是好的,但如果这回答了你的问题,你能接受/投票吗?谢谢