Import
import { NuiGrid, NuiGridCell, type NuiGridColumn } from '@needless-ui/angular/grid';NuiGrid
ตารางข้อมูลที่สร้างบน table แบบเนทีฟ
| ชื่อ | ชนิด | ค่าเริ่มต้น | คำอธิบาย |
|---|---|---|---|
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 | ล้างตัวกรองทั้งหมดและคำค้นหา |
Input สำหรับการปรับแต่งที่ไม่ได้กำหนดค่าไว้ จะใช้ค่าตาม attribute 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
วาดเซลล์ของคอลัมน์ context มีแถว ค่า และข้อความของเซลล์
| ชื่อ | ชนิด | ค่าเริ่มต้น | คำอธิบาย |
|---|---|---|---|
nuiGridCellInput | string | id ของคอลัมน์ |
NuiGridHeader
วาดหัวคอลัมน์
| ชื่อ | ชนิด | ค่าเริ่มต้น | คำอธิบาย |
|---|---|---|---|
nuiGridHeaderInput | string | id ของคอลัมน์ |
NuiGridEmpty
สิ่งที่แสดงเมื่อไม่มีแถว context จะบอกว่าตัวกรองซ่อนแถวไว้หรือไม่