Skip to content

Column Types

type値の型エディタ備考
textstring<input type="text">maxLength, pattern バリデーション
numbernumber<input type="number">min, max, step, precision
datestring (YYYY-MM-DD)<input type="date">minDate, maxDate
timestring (HH:MM)<input type="time">step (秒単位)
booleanboolean<input type="checkbox">常時表示、Space/Enter でトグル
liststring<select>options から単一選択
multiListstring[]チェックボックス一覧options から複数選択
action-カスタム render 関数読み取り専用、ソート/フィルタ対象外
{
key: 'name',
header: '名前',
type: 'text',
maxLength: 50, // 最大文字数
pattern: /^[A-Z]/, // 正規表現パターン
required: true, // 必須
}
{
key: 'age',
header: '年齢',
type: 'number',
min: 0, // 最小値
max: 150, // 最大値
step: 1, // ステップ
precision: 2, // 表示精度 (小数点以下桁数)
}
{
key: 'joinDate',
header: '入社日',
type: 'date',
minDate: '2020-01-01', // 最小日付
maxDate: '2030-12-31', // 最大日付
}
{
key: 'startTime',
header: '開始時刻',
type: 'time',
step: 900, // 15分刻み (秒単位)
}
{
key: 'active',
header: '有効',
type: 'boolean',
width: 80,
}

チェックボックスは常時表示され、クリックまたは Space/Enter キーでトグルします。

{
key: 'department',
header: '部署',
type: 'list',
options: ['Engineering', 'Sales', 'HR', 'Finance'],
}
{
key: 'skills',
header: 'スキル',
type: 'multiList',
options: ['React', 'TypeScript', 'Node.js', 'Python'],
width: 200,
}

セル内ではカンマ区切りで表示されます。ダブルクリックでチェックボックス付きのポップアップが開きます。

{
key: 'actions',
type: 'action',
header: '',
width: 80,
pin: 'right',
render: (row) => (
<button onClick={() => handleDetail(row)}>詳細</button>
),
}

action カラムは読み取り専用で、ソート・フィルターの対象外です。render 関数で任意の React 要素を返せます。

全てのカラムで使える共通オプション:

オプション説明
widthnumberカラム幅 (デフォルト: 150px)
readOnlyboolean読み取り専用
headerstringヘッダーテキスト