Table, List और चार्ट
ख़ुद बनाई पंक्तियों की जगह सॉर्ट करने योग्य Table और ऐसा चार्ट लगाएं जो लेआउट को कभी न खिसकाए।
इस अध्याय में
- सॉर्ट करने योग्य टेबल
- इसके ऊपर एक चार्ट
- और कंपोनेंट
खुद लिखी गई पंक्तियों की जगह कंपोनेंट इस्तेमाल करें: कीबोर्ड नेविगेशन और सॉर्टिंग वाला <Table>, वर्चुअलाइज़्ड स्क्रॉलिंग वाला <List>, और आठवें हिस्से वाले ब्लॉक और क्वाड्रंट डॉट से बने चार्ट।
सॉर्ट करने योग्य टेबल
कॉलम ऑब्जेक्ट का एक ऐरे हैं। width के बिना कॉलम को grow के हिसाब से बची हुई जगह का हिस्सा मिलता है, सॉर्टिंग में value की तुलना होती है, और render सेल बनाता है।
जोड़ा गया: import { Table, type SortState, type TableColumn } from "@textjs/app";जोड़ा गया: जोड़ा गया: const COLUMNS: TableColumn<Deployment>[] = [जोड़ा गया: { key: "status", header: "Status", width: 11, render: (d) => <Status status={d.status} /> },जोड़ा गया: { key: "commit", header: "Commit", grow: 2 },जोड़ा गया: { key: "project", header: "Project", width: 10 },जोड़ा गया: { key: "duration", header: "Build", width: 6, align: "right", value: (d) => d.duration, render: (d) => <Text>{`${d.duration}s`}</Text> },जोड़ा गया: ];export default function DeploymentsPage() {जोड़ा गया: const [sort, setSort] = useState<SortState | null>(null); …हटाया गया: return rows.map((d) => …);जोड़ा गया: return <Table columns={COLUMNS} rows={rows} getRowKey={(d) => d.id} sortable sort={sort} onSortChange={setSort} autoFocus />;}टेबल पर फ़ोकस होने पर, ↑ ↓ हाइलाइट को खिसकाते हैं, s सॉर्ट कॉलम को बारी-बारी से बदलता है, S दिशा उलटता है और Enter से onSelect कॉल होता है। लंबी टेबल सिर्फ़ दिखने वाली पंक्तियों को पेंट करती हैं।
इसके ऊपर एक चार्ट
<Sparkline> अपने बॉक्स को सबसे हाल के पॉइंट से भरता है। <BarChart> आपके लिए लेबल और वैल्यू को अलाइन करता है।
जोड़ा गया: import { BarChart, Sparkline } from "@textjs/app";जोड़ा गया: जोड़ा गया: const [chart, setChart] = useState<"spark" | "bars">("spark");जोड़ा गया: useInput((e) => {जोड़ा गया: if (e.input === "c") setChart((c) => (c === "spark" ? "bars" : "spark"));जोड़ा गया: });जोड़ा गया: return ( <Box className="flex-col grow gap-1">जोड़ा गया: <Box className="flex-col" height={4}>जोड़ा गया: <Text color="subtle">Build time, last 24 deployments</Text>जोड़ा गया: {chart === "spark" ? (जोड़ा गया: <Sparkline data={buildTimes} height={3} color="accent" />जोड़ा गया: ) : (जोड़ा गया: <BarChart data={byProject} formatValue={(v) => `${v}s`} />जोड़ा गया: )}जोड़ा गया: </Box> <Table … /> </Box> );चार्ट बॉक्स की ऊंचाई तय है, इसलिए चार्ट बदलने से टेबल कभी नहीं खिसकती, और उसकी पंक्तियां दोबारा एनकोड नहीं होतीं।
और कंपोनेंट
<List>, <Tree>, <Tabs>, <Select>, <Input>, <Modal>, <Toaster>, <CommandPalette>, <ProgressBar>, <LineChart> और अन्य कंपोनेंट का डॉक्यूमेंटेशन कंपोनेंट में है।
आज़माएं
यह अध्याय के अंत वाला Acme Deploys है, जो DevTools में चल रहा है। पैड पर क्लिक करें, फिर नीचे दी गई कुंजियां इस्तेमाल करें।
कंसोल खोलें
ऐप DevTools में रेंडर होता है।पहले Safari की सेटिंग → एडवांस में “वेब डेवलपर के लिए सुविधाएं दिखाएं” चालू करें। फिर यहां क्लिक करें और s दबाएं।
डेस्कटॉप पर खोलें
यह ऐप DevTools कंसोल में रेंडर होता है, जिसके लिए डेस्कटॉप ब्राउज़र चाहिए।
क्विज़
2 सवालअध्याय पूरा करने के लिए हर सवाल का जवाब दें।