`<DataTable />`における一意キー指定を柔軟にする
youchann opened this issue · 4 comments
youchann commented
export type DataTableBaseData = {
id: number;
selectDisabled?: boolean;
};
<DataTable />
で扱うdata
propsの中にあるid
をもっと柔軟にする。
string
を入れることを可能にする- 一意であるプロパティであれば良いので、
id
ではないプロパティも指定できるようにする
youchann commented
type SampleData = {
key: string;
name: string;
}[]
例えば↑のような形でもそのまま<DataTable data={sampleData} key="key" />
といったように格納できるようにする。
youchann commented
- Tabが内包される実装となっていて、複雑
rowSpan
がいじれる構造となっていて、複雑- sortの機能を内包していて、複雑
- ページネーションの機能を内包していて、複雑
総じて複雑なので、根本から対応したくなっている。
事業的には情報をテーブルで一覧表示するケースは多く、コンポーネント群の中でも1位2位を争うぐらいには使われている。
youchann commented
対応策としては3つぐらいありそう。
- インタフェースを保ったまま、頑張ってリファクタリングをする
- 別途コンポーネントを作りなおす
- 有料のコンポーネントを
ingred-ui
に導入する
youchann commented
https://chakra-ui.com/getting-started/with-react-table
内部的にreact-tableで持つところまではingred-uiでやっておいて、TabとかPagerなどは別コンポーネントとして定義してpluggableな感じで実装するとよさそう。