Импорт
import { NuiGrid, NuiGridCell, type NuiGridColumn } from '@needless-ui/angular/grid';NuiGrid
Таблица данных на нативной HTML-таблице.
| Имя | Тип | По умолчанию | Описание |
|---|---|---|---|
rowsДвусторонний | readonly T[] | Данные. Правки заменяют строки, поэтому привязывайте через [(rows)]. | |
columnsInput | NuiGridColumn<T>[] | Столбцы в виде объектов NuiGridColumn. | |
rowIdInput | (row: T) => unknown | row.id ?? row | Ключ строки для выбора и отслеживания. |
labelInput | string | Доступное имя таблицы. | |
selectionInput | 'none' | 'single' | 'multiple' | 'none' | Можно ли выбирать строки и сколько. |
selectedДвусторонний | unknown[] | [] | Ключи выбранных строк. |
sortДвусторонний | NuiGridSort[] | [] | Сортировка в виде объектов { column, direction }; первый — основной. |
filtersДвусторонний | Record<string, NuiGridFilter> | {} | Фильтр для каждого id столбца: оператор и значение. |
searchДвусторонний | string | '' | Слова, которые все должны быть в строке. |
pageSizeДвусторонний | number | 0 | Строк на странице; 0 — один прокручиваемый список. |
pageДвусторонний | number | 0 | Текущая страница (с 0). |
pageSizesInput | number[] | [10, 25, 50, 100] | Варианты в пагинаторе. |
virtualInput | boolean | 'auto' | 'auto' | Рендерит только видимые строки: всегда, никогда или auto — свыше 100 строк без пагинации. |
heightInput | string | Длина CSS, ограничивающая таблицу; прокрутка — внутри. | |
columnStateДвусторонний | NuiGridColumnState[] | [] | Ширина, порядок, закрепление и видимость столбцов — для сохранения и восстановления. |
modeInput | 'client' | 'server' | 'client' | server показывает строки как есть, а сортировку, фильтрацию и пагинацию оставляет вам. |
totalInput | number | Число строк на сервере. | |
loadingInput | boolean | false | Показывает полосу загрузки, а пока строк нет — строки-заглушки. |
localeInput | string | LOCALE_ID | Форматирует числа и даты и распознаёт введённые числа. |
labelsInput | Partial<NuiGridLabels> | Все показываемые и озвучиваемые тексты — для перевода. | |
cornersInput | NuiCorners | Форма углов: round, squircle, bevel, scoop, notch или square. | |
radiusInput | NuiRadius | Радиус скругления углов: none, small, medium, large или full. | |
densityInput | NuiDensity | Сколько места занимает компонент: compact, regular или roomy. | |
rowActivateOutput | T | Передаёт строку, открытую по Enter или двойному клику. | |
cellEditOutput | NuiGridEdit<T> | Передаёт каждую принятую правку. | |
queryChangeOutput | NuiGridQuery | Передаёт сортировку, фильтры, поиск и страницу при каждом их изменении. | |
exportCsvМетод | (options?) => string | Отфильтрованные и отсортированные строки видимых столбцов в CSV. | |
focusCellМетод | (row: number, col: number) => void | Переводит фокус на ячейку; строка -1 — заголовок. | |
clearFiltersМетод | () => void | Сбрасывает все фильтры и поиск. |
Если входное свойство настройки не задано, компонент берёт его значение из ближайшего атрибута data-nui-*. Подробнее — в руководстве по настройке.
NuiGridColumn
Один столбец. Обязательны только 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
Рисует ячейки столбца. В контексте — строка, значение и текст.
| Имя | Тип | По умолчанию | Описание |
|---|---|---|---|
nuiGridCellInput | string | Id столбца. |
NuiGridHeader
Рисует заголовок столбца.
| Имя | Тип | По умолчанию | Описание |
|---|---|---|---|
nuiGridHeaderInput | string | Id столбца. |
NuiGridEmpty
Что показать, когда строк нет. Контекст сообщает, скрыли ли их фильтры.