我已经创建了一个React Table。我想通过用户操作隐藏或显示表中的某些列。默认情况下,所有列均应可见,但我们将具有一些复选框以隐藏或显示某些列。
我桌子的形象
假设我要显示8列中的4列。请建议我一个简单的技术来实现这一目标。
我的列标题数组是
const columns = [ { Header: 'Column 1', columns: [ { Header: 'S Column 1', accessor: 'firstName' } ] }, { Header: 'Column 2', columns: [ { Header: 'S Column 2', accessor: 'firstName' } ] }, { Header: 'Column 3', columns: [ { Header: 'S Column 3', accessor: 'firstName' } ] }, { Header: 'Column 4', columns: [ { Header: 'S column 4', accessor: 'firstName' } ] }, { Header: 'Column 5', columns: [ { Header: 'S column 5', accessor: 'firstName' } ] }, { Header: 'Column 6', columns: [ { Header: 'S column 6a', accessor: 'firstName' }, { Header: 'S column 6b', accessor: 'firstName' }, { Header: 'S column 6c', accessor: 'firstName' }, { Header: 'S column 6d', accessor: 'firstName' } ] }, { Header: 'Column 7', columns: [ { Header: 'S column 7', accessor: 'firstName' } ] }, { Header: 'Column 8', columns: [ { Header: 'S Column 8a', accessor: 'firstName' }, { Header: 'S Column 8b', accessor: 'firstName' }, { Header: 'S Column 8c', accessor: 'firstName' }, { Header: 'S Column 8d', accessor: 'firstName' } ] }, ];
请帮助我以最简单的方法实现此功能。
如果可以,您可以在codeandbox上显示演示。
在列中有一个属性show。 show: true, // can be used to hide a column。 隐藏特定列使其为false。将用户的复选框值保持在该状态。 https://react- table.js.org/#/story/readme
show
show: true, // can be used to hide a column
注意 :show不推荐使用column属性。使用initialstate.hiddenColumns代替。
initialstate.hiddenColumns
检查:https : //github.com/tannerlinsley/react- table/issues/1804