Impor
import { NuiGrid, type NuiGridColumn, type NuiGridHandle } from '@needless-ui/react/grid';NuiGrid
Data grid di atas tabel native.
| Nama | Tipe | Default | Deskripsi |
|---|---|---|---|
rowsProp | readonly T[] | Datanya. Pengeditan mengganti barisnya dan memanggil onRowsChange; rows berikutnya yang Anda teruskan menggantikan hasil edit. | |
onRowsChangeCallback | (rows: readonly T[]) => void | Dipanggil dengan baris-barisnya setelah setiap edit yang diterapkan. | |
columnsProp | NuiGridColumn<T>[] | Kolom-kolomnya, sebagai objek NuiGridColumn. | |
rowIdProp | (row: T) => unknown | row.id ?? row | Kunci baris, untuk pemilihan dan pelacakan. |
labelProp | string | Nama aksesibel grid. | |
selectionProp | 'none' | 'single' | 'multiple' | 'none' | Apakah baris bisa dipilih, dan berapa banyak. |
selecteddefaultSelectedonSelectedChangeState | unknown[] | [] | Kunci baris yang dipilih. |
sortdefaultSortonSortChangeState | NuiGridSort[] | [] | Pengurutan, sebagai objek { column, direction }; yang pertama diutamakan. |
filtersdefaultFiltersonFiltersChangeState | Record<string, NuiGridFilter> | {} | Satu filter per id kolom: operator dan nilai. |
searchdefaultSearchonSearchChangeState | string | '' | Kata-kata yang semuanya harus ada dalam satu baris. |
pageSizedefaultPageSizeonPageSizeChangeState | number | 0 | Baris per halaman, atau 0 untuk satu daftar yang bergulir. |
pagedefaultPageonPageChangeState | number | 0 | Halaman yang ditampilkan, mulai dari 0. |
pageSizesProp | number[] | [10, 25, 50, 100] | Pilihan ukuran halaman di paginator. |
virtualProp | boolean | 'auto' | 'auto' | Hanya merender baris yang terlihat: selalu, tidak pernah, atau auto jika lebih dari 100 baris tanpa paginasi. |
heightProp | string | Panjang CSS yang membatasi grid; isinya bergulir di dalam. | |
columnStatedefaultColumnStateonColumnStateChangeState | NuiGridColumnState[] | [] | Lebar, urutan, penyematan, dan visibilitas setiap kolom, untuk disimpan dan dipulihkan. |
modeProp | 'client' | 'server' | 'client' | server menampilkan baris apa adanya dan menyerahkan pengurutan, penyaringan, serta paginasi kepada Anda. |
totalProp | number | Jumlah baris di server. | |
loadingProp | boolean | false | Menampilkan bilah progres, dan baris placeholder selama belum ada baris. |
localeProp | string | 'en-US' | Memformat angka dan tanggal, serta membaca angka yang diketik. |
labelsProp | Partial<NuiGridLabels> | Semua teks yang ditampilkan atau diumumkan grid, untuk diterjemahkan. | |
cornersProp | NuiCorners | Bentuk sudut: round, squircle, bevel, scoop, notch, atau square. | |
radiusProp | NuiRadius | Seberapa bulat sudutnya: none, small, medium, large, atau full. | |
densityProp | NuiDensity | Seberapa banyak ruang yang digunakan komponen: compact, regular, atau roomy. | |
groupByProp | string[] | [] | Kolom untuk mengelompokkan baris, mulai dari yang terluar. |
collapseddefaultCollapsedonCollapsedChangeState | string[] | [] | Kunci grup yang tertutup; awalnya semua grup terbuka. |
getChildrenProp | (row: T) => T[] | undefined | Baris-baris anak dari sebuah baris: grid menampilkan data pohon. | |
expandeddefaultExpandedonExpandedChangeState | unknown[] | [] | Kunci baris yang terbuka di data pohon; awalnya semuanya tertutup. |
detailsdefaultDetailsonDetailsChangeState | unknown[] | [] | Kunci baris yang detailnya terbuka. |
totals, flashProp | boolean | false | Baris agregat atas semua baris yang tersaring; sel yang berkedip saat teksnya berubah, pada baris dengan rowId yang tetap. |
layoutProp | 'table' | 'list' | 'auto' | 'table' | list menampilkan baris sebagai kartu, dan auto melakukannya di layar sempit. |
toolbarProp | boolean | 'auto' | 'auto' | Bilah yang mengurutkan, menyaring, dan memilih semua baris: selalu, tidak pernah, atau auto bersama kartu. |
renderEmptyRender prop | (filtered: boolean) => ReactNode | Yang ditampilkan saat tidak ada baris; fungsinya diberi tahu apakah filter menyembunyikannya. | |
renderDetailRender prop | (row: T) => ReactNode | Detail sebuah baris, ditampilkan di bawahnya saat dibuka. Grid menambahkan kolom berisi toggle. | |
onRowActivateCallback | (row: T) => void | Dipanggil dengan baris yang dibuka dengan Enter atau klik dua kali. | |
onCellEditCallback | (edit: NuiGridEdit<T>) => void | Dipanggil dengan setiap edit yang diterapkan. | |
onQueryChangeCallback | (query: NuiGridQuery) => void | Dipanggil dengan pengurutan, filter, pencarian, dan halaman setiap kali berubah, serta sekali di awal. | |
refProp | Ref<NuiGridHandle> | Yang bisa dijangkau lewat ref grid: ekspor, pencetakan, dan fokus. | |
exportXlsx, printMetode | (options?) => Blob, () => void | Baris yang tersaring dan terurut sebagai spreadsheet; mencetak semua baris. | |
exportCsvMetode | (options?) => string | Baris yang tersaring dan terurut dari kolom yang terlihat, sebagai CSV. | |
expandAllMetode | (open?: boolean) => void | Membuka setiap grup dan setiap baris yang punya anak, atau menutup semuanya. | |
focusCellMetode | (row: number, col: number) => void | Memfokuskan sel; baris -1 adalah header. | |
clearFiltersMetode | () => void | Mengosongkan semua filter dan pencarian. | |
fitMetode | (id: string) => void | Menyesuaikan lebar kolom dengan sel terlebar yang sudah dirender. |
State bekerja seperti input bawaan React: teruskan nilai dan perbarui lewat callback on…Change-nya, atau teruskan nilai default… dan biarkan komponen yang menyimpannya.
Prop kustomisasi yang tidak Anda atur akan mengikuti atribut data-nui-* terdekat. Lihat panduan kustomisasi.
NuiGridColumn
Satu kolom. Menerima semua properti kolom Angular (hanya id dan header yang wajib), serta dua properti ini yang menggambarnya.
| Nama | Tipe | Default | Deskripsi |
|---|---|---|---|
renderCellRender prop | ({ row, value, text, column }) => ReactNode | Untuk menggambar sel kolom sendiri, dari baris, nilai, dan teksnya. | |
renderHeaderRender prop | (column) => ReactNode | Untuk menggambar header kolom sendiri; namanya tetap berasal dari header. |