Veri bileşenleri

<List>, <Table> ve <Tree>: sanallaştırılmış, sıralanabilir ve seçilebilir.

<List>, <Table> ve <Tree> büyük veri kümelerini gösterir. Yalnızca görünür satırlar render edilir.

Canlı72×13 · booting Turbolog…tsx
preview://table:1
<Table  columns={[    { key: "name", header: "Service" },    { key: "region", header: "Region", width: 8 },    { key: "p95", header: "p95", width: 7, align: "right" },  ]}  rows={services}  sortable  selectionMode="multiple"  onSelect={(s) => router.push(`/services/${s.name}`)}/>

<List>, <Table> ve <Tree> aynı klavye modelini paylaşır.

TuşlarEylem
↑ ↓ / j kHareket
PgUp PgDn, Ctrl+U Ctrl+DSayfa, yarım sayfa
Home End / g Gİlk, son
↵onSelect
Tekerlekİmleci hareket ettirme

Varsayılan olarak üst öğelerini doldururlar. Sabit sayıda satır için height değerini geçin.

<List>

Sanallaştırılmış bir liste. Satırlar bir hücre yüksekliğindedir.

<List  items={requests}  getLabel={(r) => `${r.method} ${r.path}`}  onSelect={open}/>
PropAçıklama
itemsHerhangi bir dizi
renderItem(item, { highlighted, focused }) => ReactNode
isItemDisabledİmlecin atladığı öğeler
heightGörünür satırlar (varsayılan: doldurma)
highlightedIndex / onHighlightKontrollü imleç
vimKeysj k g G (varsayılan true)

<Table>

Sütunlar, width belirtilmedikçe kalan genişliği paylaşır. Başlıklar ve hücreler aynı flex kurallarını kullanır, bu nedenle her zaman hizalanırlar.

Sütun alanıAçıklama
keyKimlik ve varsayılan erişimci
width / growSabit hücre sayısı veya kalan genişlikten pay
alignleft right center
valueGösterim ve sıralama değeri
renderÖzel hücre içeriği
compareÖzel sıralama

Sıralama

sortable ile bir sütuna göre sıralamak için sütunun numarasına (tersine çevirmek için tekrar), sütunlar arasında geçiş yapmak için s, yönü tersine çevirmek için S tuşuna basın. Sıralama kararlıdır. sort ve onSortChange ile kontrol edin.

Seçim

selectionMode="multiple" bir onay sütunu ekler; Space vurgulanan satırın seçim durumunu değiştirir. Seçimi kontrol etmek için selectedKeys ve onSelectionChange, kararlı anahtarlar için getRowKey kullanın.

<Tree>

Kılavuz çizgileri olan genişletilebilir bir ağaç.

Canlı56×11 · booting Turbolog…tsx
preview://tree:1
<Tree  data={[{ id: "app", label: "app", children: [{ id: "page", label: "page.tsx", hint: "2.8 kB" }] }]}  defaultExpanded={["app"]}  onSelect={(node) => open(node.id)}/>

→ bir dalı genişletir veya dalın içine ilerler. ← dalı daraltır veya üst öğeye atlar. Space genişletme durumunu değiştirir. Kendi renderer’ınıza ihtiyaç duyarsanız flattenTree(data, expanded) görünür satırları sunar.

Bu sayfayı GitHub’da düzenle