TreeView — درخت
برای نمایش سلسلهمراتب: پوشهها، لایههای یک بوم، ساختار سند. فقط ردیفهای دیدنی رندر میشوند، پس فهرستهای دههزار ردیفی هم روان است.
وضعیت: beta · لایه: ۳ (کپی کد) · کد: کپی کد
import { TreeView } from '@tokapps/tuk';نمونهٔ زنده
صفحهٔ اصلی
سربرگ
قهرمان
پابرگ
داراییها
صفحهٔ اصلی
سربرگ
قهرمان
پابرگ
داراییها
گروه 1
گره 1-1
گره 1-2
گره 1-3
گره 1-4
گره 1-5
گره 1-6
گره 1-7
گره 1-8
گره 1-9
گره 1-10
گره 1-11
گره 1-12
گره 1-13
گره 1-14
گره 1-15
کد قابل کپی
انتخاب تکی
import { TreeView, type TreeNode } from '@tokapps/tuk';const nodes: TreeNode[] = [ { key: 'docs', label: 'مستندات', children: [{ key: 'intro', label: 'مقدمه' }] }, { key: 'readme', label: 'README' },];<TreeView aria-label="پوشهها" nodes={nodes} defaultExpandedKeys={['docs']} selectionMode="single" />حالت کنترلشده، انتخاب چندتایی و جابهجایی
<TreeView aria-label="لایهها" nodes={nodes} expandedKeys={expanded} onExpandedChange={setExpanded} selectedKeys={selected} onSelectionChange={setSelected} selectionMode="multiple" onMove={({ keys, targetKey, position }) => setNodes((t) => moveNodes(t, keys, targetKey, position))} onRename={(key, label) => rename(key, label)}/>اکشن درونخطی (چشم و قفل)
const withActions = nodes.map((n) => ({ ...n, actions: [ { id: 'visible', label: 'پنهان کردن', icon: <Icon name="show" size="sm" />, pressed: hidden.has(n.key), onPress: toggleHidden }, ],}));همهٔ پیکربندیها
| پراپ | نوع | پیشفرض | توضیح |
|---|---|---|---|
| کپی کد | کپی کد | — | نام درخت؛ الزامی. |
| کپی کد | کپی کد | — | کپی کد |
| کپی کد / کپی کد | کپی کد | — | کنترلشده / کنترلنشده. |
| کپی کد | کپی کد | — | |
| کپی کد / کپی کد | کپی کد | — | کنترلشده / کنترلنشده. |
| کپی کد | کپی کد | — | |
| کپی کد | کپی کد · کپی کد · کپی کد | کپی کد | |
| کپی کد | کپی کد | — | کپی کد: کپی کد · کپی کد · کپی کد؛ با دادنش جابهجایی روشن میشود. |
| کپی کد | کپی کد | — | F2 یا دوبار کلیک. |
| کپی کد | کپی کد | کپی کد | ارتفاع ثابت ردیف به پیکسل. |
| کپی کد | کپی کد | کپی کد | ارتفاع ناحیهٔ نمایش. |
| کپی کد | کپی کد | کپی کد | ردیف اضافهٔ رندر. |
| کپی کد | کپی کد | — | اسلات اکشنها. |
| کپی کد | کپی کد · کپی کد | کپی کد | |
| کپی کد | کپی کد | فارسی | متن اعلامها. |
| کپی کد | کپی کد · کپی کد | کپی کد |
رفتار
| ورودی | عملکرد |
|---|---|
| کپی کد کپی کد کپی کد کپی کد | حرکت فوکوس |
| کپی کد / کپی کد | باز و بسته، رفتن به فرزند یا والد؛ در RTL جهتها عوض میشود |
| نویسه | typeahead |
| کپی کد / کپی کد | انتخاب |
| کپی کد + کلیک یا ↑/↓ | بازه |
| کپی کد + کلیک، کپی کد | تکی، همه |
| کپی کد | تغییر نام درجا |
| کشیدن ردیف | جابهجایی؛ خط پیش/پس یا قاب داخل نشان میدهد |
| کپی کد | حالت جابهجایی صفحهکلید: ↑/↓ مقصد، کپی کد تأیید، کپی کد لغو |
دسترسپذیری
- کپی کد و کپی کد تخت با کپی کد، کپی کد، کپی کد (محاسبه از داده، نه DOM) تا مجازیسازی درست بماند.
- کپی کد فقط روی گرههای دارای فرزند؛ کپی کد و کپی کد.
- فوکوس rovingTabindex؛ مقصد جابهجایی در ناحیهٔ کپی کد اعلام میشود.
- جابهجایی با موس جایگزین صفحهکلید دارد.
حرکت، صدا و چاپ
- حرکت: چرخش شورون و تغییر پسزمینه با کپی کد؛ در کاهش حرکت فوری.
- صدا: ندارد.
- چاپ: همهٔ ردیفها بدون اسکرول؛ کپی کد برای پنهان کردن.
توکنها
- کامپوننتی: کپی کد (پسزمینه، حاشیه، تورفتگی، hover، انتخاب، رنگ و ضخامت نشانگر رها).
- تعریف در کپی کد؛ فهرست کامل در کپی کد.