الاستيراد
import { NuiGrid, type NuiGridColumn, type NuiGridHandle } from '@needless-ui/react/grid';NuiGrid
شبكة بيانات على جدول أصلي.
| الاسم | النوع | القيمة الافتراضية | الوصف |
|---|---|---|---|
rowsخاصية (prop) | readonly T[] | البيانات. يستبدل التعديل صفّه ويستدعي onRowsChange؛ وقيمة rows التالية التي تمرّرها تحل محل التعديلات. | |
onRowsChangeدالة رد نداء | (rows: readonly T[]) => void | تُستدعى مع الصفوف بعد كل تعديل معتمد. | |
columnsخاصية (prop) | NuiGridColumn<T>[] | الأعمدة، على هيئة كائنات NuiGridColumn. | |
rowIdخاصية (prop) | (row: T) => unknown | row.id ?? row | مفتاح الصف، للتحديد والتتبّع. |
labelخاصية (prop) | string | اسم الشبكة الذي تقرؤه التقنيات المساعدة. | |
selectionخاصية (prop) | 'none' | 'single' | 'multiple' | 'none' | ما إذا كان يمكن تحديد الصفوف، وكم صفًّا. |
selecteddefaultSelectedonSelectedChangeحالة | unknown[] | [] | مفاتيح الصفوف المحددة. |
sortdefaultSortonSortChangeحالة | NuiGridSort[] | [] | الفرز، على هيئة كائنات { column, direction }؛ وللأول الأولوية. |
filtersdefaultFiltersonFiltersChangeحالة | Record<string, NuiGridFilter> | {} | تصفية لكل معرّف عمود: مُعامِل وقيمة. |
searchdefaultSearchonSearchChangeحالة | string | '' | كلمات يجب أن تظهر كلها في الصف. |
pageSizedefaultPageSizeonPageSizeChangeحالة | number | 0 | عدد الصفوف في الصفحة، أو 0 لقائمة واحدة قابلة للتمرير. |
pagedefaultPageonPageChangeحالة | number | 0 | الصفحة المعروضة، بدءًا من 0. |
pageSizesخاصية (prop) | number[] | [10, 25, 50, 100] | الخيارات المتاحة في شريط الصفحات. |
virtualخاصية (prop) | boolean | 'auto' | 'auto' | يرسم الصفوف الظاهرة فقط: دائمًا، أو أبدًا، أو مع auto بعد 100 صف دون صفحات. |
heightخاصية (prop) | string | طول CSS يحدّ الشبكة؛ ويجري التمرير داخلها. | |
columnStatedefaultColumnStateonColumnStateChangeحالة | NuiGridColumnState[] | [] | عرض كل عمود وترتيبه وتثبيته وظهوره، لحفظها واستعادتها. |
modeخاصية (prop) | 'client' | 'server' | 'client' | يعرض server الصفوف كما تصل، ويترك لك الفرز والتصفية والتقسيم إلى صفحات. |
totalخاصية (prop) | number | عدد الصفوف على الخادم. | |
loadingخاصية (prop) | boolean | false | يعرض شريط تقدّم، وصفوفًا مؤقتة ما دامت لا توجد صفوف. |
localeخاصية (prop) | string | 'en-US' | يُنسّق الأرقام والتواريخ، ويقرأ الأرقام المكتوبة. |
labelsخاصية (prop) | Partial<NuiGridLabels> | كل نص تعرضه الشبكة أو تُعلنه، لترجمته. | |
cornersخاصية (prop) | NuiCorners | شكل زواياه: round أو squircle أو bevel أو scoop أو notch أو square. | |
radiusخاصية (prop) | NuiRadius | حجم زواياه: none أو small أو medium أو large أو full. | |
densityخاصية (prop) | NuiDensity | المساحة التي يشغلها: compact أو regular أو roomy. | |
groupByخاصية (prop) | string[] | [] | الأعمدة التي تُجمَّع الصفوف حسبها، بدءًا من المستوى الخارجي. |
collapseddefaultCollapsedonCollapsedChangeحالة | string[] | [] | مفاتيح المجموعات المغلقة؛ وتبدأ المجموعات مفتوحة. |
getChildrenخاصية (prop) | (row: T) => T[] | undefined | الصفوف الفرعية للصف: وبها تعرض الشبكة بيانات شجرية. | |
expandeddefaultExpandedonExpandedChangeحالة | unknown[] | [] | مفاتيح الصفوف المفتوحة في البيانات الشجرية؛ وتبدأ الصفوف مغلقة. |
detailsdefaultDetailsonDetailsChangeحالة | unknown[] | [] | مفاتيح الصفوف التي تفاصيلها مفتوحة. |
totals, flashخاصية (prop) | boolean | false | صف من القيم التجميعية لكل الصفوف المصفّاة؛ وخلايا تومض حين يتغيّر نصها، في صفوف لها rowId ثابت. |
layoutخاصية (prop) | 'table' | 'list' | 'auto' | 'table' | يعرض list الصفوف على هيئة بطاقات، ويفعل auto ذلك على الشاشات الضيقة. |
toolbarخاصية (prop) | boolean | 'auto' | 'auto' | شريط يفرز الصفوف ويصفّيها ويحددها كلها: دائمًا، أو أبدًا، أو مع auto حين تُعرض البطاقات. |
renderEmptyدالة رسم | (filtered: boolean) => ReactNode | ما يظهر حين لا توجد صفوف؛ وتُخبَر الدالة إن كانت التصفية قد أخفتها. | |
renderDetailدالة رسم | (row: T) => ReactNode | تفاصيل الصف، وتظهر تحته عند فتحها. وتضيف الشبكة عمودًا من أزرار التبديل. | |
onRowActivateدالة رد نداء | (row: T) => void | تُستدعى مع الصف الذي فُتح بمفتاح Enter أو بنقرة مزدوجة. | |
onCellEditدالة رد نداء | (edit: NuiGridEdit<T>) => void | تُستدعى مع كل تعديل معتمد. | |
onQueryChangeدالة رد نداء | (query: NuiGridQuery) => void | تُستدعى مع الفرز وعوامل التصفية والبحث والصفحة كلما تغيّرت، ومرة واحدة عند البدء. | |
refخاصية (prop) | Ref<NuiGridHandle> | ما يصل إليه ref الشبكة: التصدير والطباعة والتركيز. | |
exportXlsx, printدالة | (options?) => Blob, () => void | الصفوف المصفّاة والمفروزة في جدول بيانات؛ ويطبع كل الصفوف. | |
exportCsvدالة | (options?) => string | الصفوف المصفّاة والمفروزة من الأعمدة الظاهرة، بصيغة CSV. | |
expandAllدالة | (open?: boolean) => void | يفتح كل مجموعة وكل صف له صفوف فرعية، أو يُغلقها كلها. | |
focusCellدالة | (row: number, col: number) => void | ينقل التركيز إلى خلية؛ والصف -1 هو صف الرؤوس. | |
clearFiltersدالة | () => void | يمسح كل عوامل التصفية والبحث. | |
fitدالة | (id: string) => void | يلائم عرض العمود مع أعرض خلاياه المعروضة. |
تعمل الحالة كما تعمل عناصر الإدخال في React نفسها: مرّر قيمة وحدّثها من دالة رد النداء on…Change الخاصة بها، أو مرّر قيمة default… ودع المكوّن يحتفظ بها.
خصائص التخصيص التي تتركها دون ضبط تتبع أقرب سمة data-nui-*. راجع دليل التخصيص.
NuiGridColumn
عمود واحد. يقبل كل خصائص عمود Angular (لا يلزم منه إلا id وheader)، إضافةً إلى هاتين الخاصيتين اللتين ترسمانه.
| الاسم | النوع | القيمة الافتراضية | الوصف |
|---|---|---|---|
renderCellدالة رسم | ({ row, value, text, column }) => ReactNode | لرسم خلايا العمود بنفسك، من الصف وقيمة الخلية ونصها. | |
renderHeaderدالة رسم | (column) => ReactNode | لرسم رأس العمود بنفسك؛ ويظل header هو ما يُسمّيه. |