2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

お題は不問!Qiita Engineer Festa 2024で記事投稿!
Qiita Engineer Festa20242024年7月17日まで開催中!

Material React Tableの全選択チェックボックスですべてのページの行を選択できるようにする

Last updated at Posted at 2024-06-18

やりたいこと

Material React Tableの全選択チェックボックスですべてのページの行を選択できるようにしたい!

背景

Material React Tableの表の全選択チェックボックスでは、特に何もしない限り、表示されているページの行のみ全選択されます。しかし、たまたま表示されていないページも含めて全選択したくなりましたので、なんとかがんばった次第です。

Material React Table ってなぁに?

キレイでさらに機能が豊富な表を簡単に作れるReactのコンポーネントのライブラリです。

調べたこと

toggleAllRowsSelectedが名前的にそれっぽいので一応調べると、Material React Tableが依存しているパッケージの中で定義されていました。

↑この部分です。

↑によるとmuiSelectAllCheckboxPropsCheckboxProps | ({ table }) => CheckboxPropsという型です。

そして↑によるとCheckboxPropsCheckboxのPropsのようです。

というわけでさらに↑によるとonChangeというイベントがあるようです。

もうあとは組み合わせるだけです。

結論

useMaterialReactTable({
    //
    // ここにその他色々な(今回の趣旨とは無関係な)ことがいっぱい
    //
    muiSelectAllCheckboxProps: ({table})=>{
        return {
            onChange(event,checked){
                table.toggleAllRowsSelected();
            },
        };
    },
});

このように、muiSelectAllCheckboxPropsを追記して、全選択チェックボックスが変更された時に、table.toggleAllRowsSelectedが呼ばれるように配慮します。

やることはこれだけです🎉

2
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?