Closed MatsuTaku closed 2 months ago
提出一覧(Submission List)のテーブルのページ番号は、フィルタなどによりテーブルの要素が変更された後は、0にリセットされるべきです。
ページ番号pageはuseStateで管理されており、フィルタなどの要素とは独立して保持されます。URLパラメータが設定されている場合、そのパラメータから初期値が取得されます。
page
useState
ページ番号を変更した後にフィルタなどを用いてテーブル要素を削減する操作を行った場合、空のテーブルが表示される事態に陥る可能性があります。例えば、page=9, pageSize=100の状態でフィルタを用いて要素数を5に減らした場合、空のテーブルが表示されます。期待するコンテンツを表示するためには、手動でpage=0に設定する操作が必要となります。
page=9, pageSize=100
page=0
フィルタを用いてコンテンツを変更する操作を行った場合、その副作用としてpage=0を自動的に設定すべきです。これは、ReactTableなどでコンテンツを変更した際の動作と一致します。参考例: https://tanstack.com/table/v8/docs/examples/react/pagination
https://github.com/yosupo06/library-checker-frontend/pull/222 ありがとうございます、これでついでに直しました
提出一覧(Submission List)のテーブルのページ番号は、フィルタなどによりテーブルの要素が変更された後は、0にリセットされるべきです。
現行の実装
ページ番号
page
はuseState
で管理されており、フィルタなどの要素とは独立して保持されます。URLパラメータが設定されている場合、そのパラメータから初期値が取得されます。具体的な問題点
ページ番号を変更した後にフィルタなどを用いてテーブル要素を削減する操作を行った場合、空のテーブルが表示される事態に陥る可能性があります。例えば、
page=9, pageSize=100
の状態でフィルタを用いて要素数を5に減らした場合、空のテーブルが表示されます。期待するコンテンツを表示するためには、手動でpage=0
に設定する操作が必要となります。理想的な動作
フィルタを用いてコンテンツを変更する操作を行った場合、その副作用としてpage=0を自動的に設定すべきです。これは、ReactTableなどでコンテンツを変更した際の動作と一致します。参考例: https://tanstack.com/table/v8/docs/examples/react/pagination