Import
import { NuiGrid, NuiGridCell, type NuiGridColumn } from '@needless-ui/angular/grid';NuiGrid
Bảng dữ liệu dựa trên phần tử table native.
| Tên | Kiểu | Mặc định | Mô tả |
|---|---|---|---|
rowsHai chiều | readonly T[] | Dữ liệu. Chỉnh sửa sẽ thay thế dòng, nên hãy liên kết bằng [(rows)]. | |
columnsInput | NuiGridColumn<T>[] | Các cột, dưới dạng đối tượng NuiGridColumn. | |
rowIdInput | (row: T) => unknown | row.id ?? row | Khóa của một dòng, dùng để chọn và theo dõi. |
labelInput | string | Accessible name của bảng. | |
selectionInput | 'none' | 'single' | 'multiple' | 'none' | Có cho chọn dòng hay không, và chọn được bao nhiêu. |
selectedHai chiều | unknown[] | [] | Khóa của các dòng được chọn. |
sortHai chiều | NuiGridSort[] | [] | Thứ tự sắp xếp, dưới dạng đối tượng { column, direction }; đối tượng đầu được ưu tiên. |
filtersHai chiều | Record<string, NuiGridFilter> | {} | Một bộ lọc cho mỗi id cột: toán tử và giá trị. |
searchHai chiều | string | '' | Các từ đều phải xuất hiện trong một dòng. |
pageSizeHai chiều | number | 0 | Số dòng mỗi trang, hoặc 0 để hiển thị một danh sách cuộn. |
pageHai chiều | number | 0 | Trang đang hiển thị, tính từ 0. |
pageSizesInput | number[] | [10, 25, 50, 100] | Các lựa chọn trong thanh phân trang. |
virtualInput | boolean | 'auto' | 'auto' | Chỉ render các dòng đang hiển thị: luôn luôn, không bao giờ, hoặc auto khi quá 100 dòng mà không phân trang. |
heightInput | string | Độ dài CSS giới hạn chiều cao bảng; nội dung cuộn bên trong. | |
columnStateHai chiều | NuiGridColumnState[] | [] | Độ rộng, thứ tự, ghim và hiển thị của từng cột, để lưu và khôi phục. |
modeInput | 'client' | 'server' | 'client' | server hiển thị dòng đúng như nhận được và để việc sắp xếp, lọc, phân trang cho bạn. |
totalInput | number | Số dòng trên máy chủ. | |
loadingInput | boolean | false | Hiển thị thanh tiến trình, và các dòng giữ chỗ khi chưa có dòng nào. |
localeInput | string | LOCALE_ID | Định dạng số và ngày, và đọc số được gõ vào. |
labelsInput | Partial<NuiGridLabels> | Mọi văn bản mà bảng hiển thị hoặc đọc lên, để dịch. | |
cornersInput | NuiCorners | Hình dạng các góc: round, squircle, bevel, scoop, notch hoặc square. | |
radiusInput | NuiRadius | Mức bo góc: none, small, medium, large hoặc full. | |
densityInput | NuiDensity | Lượng không gian mà component chiếm: compact, regular hoặc roomy. | |
rowActivateOutput | T | Phát ra dòng được mở bằng Enter hoặc nhấp đúp. | |
cellEditOutput | NuiGridEdit<T> | Phát ra mỗi lần sửa đã xác nhận. | |
queryChangeOutput | NuiGridQuery | Phát ra sắp xếp, bộ lọc, tìm kiếm và trang mỗi khi chúng thay đổi. | |
exportCsvPhương thức | (options?) => string | Các dòng đã lọc và sắp xếp của những cột đang hiển thị, dưới dạng CSV. | |
focusCellPhương thức | (row: number, col: number) => void | Chuyển focus vào một ô; dòng -1 là tiêu đề. | |
clearFiltersPhương thức | () => void | Xóa mọi bộ lọc và tìm kiếm. |
Các input tùy biến mà bạn không đặt sẽ lấy giá trị từ thuộc tính data-nui-* gần nhất. Xem hướng dẫn tùy biến.
NuiGridColumn
Một cột. Chỉ id và header là bắt buộc.
| Tên | Kiểu | Mặc định | Mô tả |
|---|---|---|---|
idThuộc tính | string | Duy nhất; là khóa trong sắp xếp, bộ lọc và trạng thái cột. | |
headerThuộc tính | string | Văn bản tiêu đề cột. | |
valueThuộc tính | keyof T | ((row: T) => V) | Một thuộc tính của dòng, hoặc một hàm nhận dòng. Mặc định là row[id]. | |
typeThuộc tính | 'text' | 'number' | 'date' | 'boolean' | 'enum' | 'text' | Quyết định cách căn lề, sắp xếp, bộ lọc và trình chỉnh sửa. |
formatThuộc tính | Intl options | ((value, row) => string) | Tùy chọn Intl cho số và ngày, hoặc một hàm tạo ra văn bản. | |
optionsThuộc tính | NuiOption<V>[] | Các lựa chọn của cột enum, dưới dạng đối tượng NuiOption. | |
width, minWidth, maxWidthThuộc tính | number | Tính bằng pixel. | |
flexThuộc tính | number | Chia phần không gian còn lại với các cột flex khác. | |
alignThuộc tính | 'start' | 'center' | 'end' | Mặc định theo kiểu: số và ngày căn về cuối. | |
pinned, hiddenThuộc tính | 'start' | 'end', boolean | Trạng thái ghim và hiển thị ban đầu của cột. | |
sortable, filterable, resizable, reorderable, hideableThuộc tính | boolean | true | Có thể tắt từng thuộc tính bằng false. |
compareThuộc tính | (a: V, b: V) => number | Sắp xếp tùy biến. | |
editable, validateThuộc tính | boolean | ((row) => boolean), (value, row) => string | null | Ô có chỉnh sửa được không, và thông báo khi giá trị không hợp lệ. | |
setThuộc tính | (row: T, value: V) => T | Tạo dòng đã chỉnh sửa. Mặc định là một bản sao mang giá trị mới. |
NuiGridCell
Vẽ các ô của một cột. Context chứa dòng, giá trị và văn bản của ô.
| Tên | Kiểu | Mặc định | Mô tả |
|---|---|---|---|
nuiGridCellInput | string | Id của cột. |
NuiGridHeader
Vẽ tiêu đề của một cột.
| Tên | Kiểu | Mặc định | Mô tả |
|---|---|---|---|
nuiGridHeaderInput | string | Id của cột. |
NuiGridEmpty
Nội dung khi không có dòng nào. Context cho biết bộ lọc có ẩn chúng hay không.