web-dev-qa-db-ja.com

Reactテーブルの一部の列を表示および非表示にする方法は?

Reactテーブルを作成しました。ユーザーアクションによってテーブル内の一部の列を非表示または表示したいです。デフォルトではすべての列が表示されますが、一部を非表示または表示するためのチェックボックスがあります。列。

テーブルの画像

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'
  }
 ]
  },
  ];

最も簡単な方法でこの機能を実現するために私を助けてください。

可能であれば、codesandboxでデモを表示できます。

8
user10374052

列には、プロパティshowがあります。
show: true, // can be used to hide a column
特定の列を非表示にするには、falseにします。ユーザーのチェックボックスの値を状態に保持します。 https://react-table.js.org/#/story/readme

14