インポート
import { NuiGrid, NuiGridCell, type NuiGridColumn } from '@needless-ui/angular/grid';NuiGrid
ネイティブのテーブルで構築したデータグリッド。
| 名前 | 型 | デフォルト | 説明 |
|---|---|---|---|
rows双方向 | readonly T[] | データ。編集すると行が置き換わるため、[(rows)] でバインドします。 | |
columns入力 | NuiGridColumn<T>[] | 列。NuiGridColumn オブジェクトで指定します。 | |
rowId入力 | (row: T) => unknown | row.id ?? row | 行のキー。選択と追跡に使います。 |
label入力 | string | グリッドのアクセシブルな名前。 | |
selection入力 | 'none' | 'single' | 'multiple' | 'none' | 行を選択できるかどうかと、選択できる数。 |
selected双方向 | unknown[] | [] | 選択された行のキー。 |
sort双方向 | NuiGridSort[] | [] | 並べ替え。{ column, direction } オブジェクトで指定し、先頭のものが優先されます。 |
filters双方向 | Record<string, NuiGridFilter> | {} | 列 id ごとのフィルター。演算子と値で指定します。 |
search双方向 | string | '' | 行にすべて含まれている必要がある語。 |
pageSize双方向 | number | 0 | 1ページあたりの行数。0 にすると、スクロールする1つのリストになります。 |
page双方向 | number | 0 | 表示するページ。0 から数えます。 |
pageSizes入力 | number[] | [10, 25, 50, 100] | ページャーの選択肢。 |
virtual入力 | boolean | 'auto' | 'auto' | 表示範囲の行だけをレンダリングします。常に行う、行わない、ページングなしで100行を超えたら行う auto のいずれか。 |
height入力 | string | グリッドの高さを制限する CSS の長さ。内部がスクロールします。 | |
columnState双方向 | NuiGridColumnState[] | [] | 各列の幅、順序、固定、表示状態。保存と復元に使います。 |
mode入力 | 'client' | 'server' | 'client' | server は受け取った行をそのまま表示し、並べ替え、絞り込み、ページングはアプリ側に任せます。 |
total入力 | number | サーバー上の行数。 | |
loading入力 | boolean | false | プログレスバーを表示し、行がない間はプレースホルダーの行を表示します。 |
locale入力 | string | LOCALE_ID | 数値と日付の書式設定、および入力された数値の読み取りに使うロケール。 |
labels入力 | Partial<NuiGridLabels> | グリッドが表示または読み上げるすべてのテキスト。翻訳に使います。 | |
corners入力 | NuiCorners | 角の形:round、squircle、bevel、scoop、notch、square のいずれか。 | |
radius入力 | NuiRadius | 角の大きさ:none、small、medium、large、full のいずれか。 | |
density入力 | NuiDensity | 占めるスペースの広さ:compact、regular、roomy のいずれか。 | |
rowActivate出力 | T | Enter キーまたはダブルクリックで開かれた行を出力します。 | |
cellEdit出力 | NuiGridEdit<T> | 編集が確定するたびに、その編集を出力します。 | |
queryChange出力 | NuiGridQuery | 並べ替え、フィルター、検索、ページが変わるたびに、それらを出力します。 | |
exportCsvメソッド | (options?) => string | 絞り込みと並べ替えを適用した行の、表示中の列を CSV で返します。 | |
focusCellメソッド | (row: number, col: number) => void | セルにフォーカスします。行 -1 はヘッダーです。 | |
clearFiltersメソッド | () => void | すべてのフィルターと検索をクリアします。 |
カスタマイズ用の入力のうち、設定しなかったものは最も近い data-nui-* 属性に従います。詳しくはカスタマイズガイドをご覧ください。
NuiGridColumn
1つの列。必須なのは id と header だけです。
| 名前 | 型 | デフォルト | 説明 |
|---|---|---|---|
idプロパティ | string | 一意の値。並べ替え、フィルター、列の状態でキーとして使われます。 | |
headerプロパティ | string | ヘッダーのテキスト。 | |
valueプロパティ | keyof T | ((row: T) => V) | 行のキー、または行を受け取る関数。デフォルトは row[id] です。 | |
typeプロパティ | 'text' | 'number' | 'date' | 'boolean' | 'enum' | 'text' | 配置、並べ替え、フィルター、エディターを決めます。 |
formatプロパティ | Intl options | ((value, row) => string) | 数値と日付用の Intl のオプション、またはテキストを作る関数。 | |
optionsプロパティ | NuiOption<V>[] | enum 列の選択肢。NuiOption オブジェクトで指定します。 | |
width, minWidth, maxWidthプロパティ | number | ピクセル単位。 | |
flexプロパティ | number | 残りのスペースを、ほかの flex 列と分け合います。 | |
alignプロパティ | 'start' | 'center' | 'end' | デフォルトは型によって決まり、数値と日付は末尾側に揃えます。 | |
pinned, hiddenプロパティ | 'start' | 'end', boolean | 列の初期の固定状態と表示状態。 | |
sortable, filterable, resizable, reorderable, hideableプロパティ | boolean | true | それぞれ false でオフにできます。 |
compareプロパティ | (a: V, b: V) => number | 独自の並べ替え。 | |
editable, validateプロパティ | boolean | ((row) => boolean), (value, row) => string | null | セルを編集できるかどうかと、値が無効なときのメッセージ。 | |
setプロパティ | (row: T, value: V) => T | 編集後の行を作ります。デフォルトでは、新しい値を入れたコピーです。 |
NuiGridCell
列のセルを描画します。コンテキストには行、その値、テキストが入っています。
| 名前 | 型 | デフォルト | 説明 |
|---|---|---|---|
nuiGridCell入力 | string | 列の id。 |
NuiGridHeader
列のヘッダーを描画します。
| 名前 | 型 | デフォルト | 説明 |
|---|---|---|---|
nuiGridHeader入力 | string | 列の id。 |
NuiGridEmpty
行がないときに表示する内容。コンテキストから、フィルターで行が隠れたかどうかがわかります。