Skip to content

useSpreadSheetTable

useSpreadSheetTable はテーブルの状態を管理する TableInstance を返すフックです。

import { useSpreadSheetTable } from '@heynow-jp/react-spread-sheet-table'
const table = useSpreadSheetTable<Row>({
columns,
initialData: data,
rowKey: 'id',
})
オプションデフォルト説明
columnsColumnDef<T>[](必須)カラム定義の配列
initialDataT[](必須)初期データ
rowKeykeyof T(必須)行のユニークキー
onChange(rows: T[]) => void-データ変更時のコールバック
onReorder(rows: T[]) => void-行並び替え時のコールバック
validate(value, row, key) => ValidationResult | null-カスタムバリデーション
onValidationError(errors) => void-バリデーションエラーのコールバック
readOnlybooleanfalseテーブル全体を読み取り専用に
sortablebooleantrueソート有効/無効
filterablebooleantrueフィルター有効/無効
reorderablebooleanfalse行の並び替え有効/無効
resizablebooleantrue列リサイズ有効/無効
frozenColumnsnumber0左から固定する列数(行番号列は常に固定)
プロパティ/メソッド説明
dataT[]現在のデータ (フィルタ・ソート適用後)
isDirtyboolean未保存の変更があるか
canUndobooleanUndo 可能か
canRedobooleanRedo 可能か
undo()() => void操作を元に戻す
redo()() => void操作をやり直す
resetToInitial()() => void初期データにリセット
markAsSaved()() => void現在のデータを保存済みとしてマーク
isValid()() => booleanバリデーションエラーがないか
getValidationErrors()() => ValidationError[]バリデーションエラー一覧
getChangedRows()() => ChangeSet<T>変更された行の差分
frozenColumnsnumber固定列数