# اختيار شجري TreeSelect
مكوّن اختيار شجري. يعيد استخدام منطق التوسيط / التحديد الخاص بـ LhTree؛ في الوضع أحادي الاختيار يؤدي النقر الأول على عقدة أبوية إلى توسيعها فقط (وتُحدَّد بالنقر مرة ثانية)، بينما يُحدَّد الفرع مباشرة، وفي وضع الاختيار المتعدد تُستخدم مربعات الاختيار؛ وتُحمَّل اللوحة افتراضيًا على body (لا يوجد Teleport في Vue2).
اختيار شجري
<template>
<div class="demo-col" style="gap: 16px">
<div class="demo-row" style="gap: 12px; flex-wrap: wrap">
<LhTreeSelect v-model="single" :data="data" placeholder="اختيار فردي (انقر على العقدة الأبوية لتوسيعها، وعلى الفرع للتحديد)" />
<LhTreeSelect v-model="single" :data="data" disabled placeholder="معطّل" />
<LhTreeSelect v-model="multi" :data="data" multiple placeholder="اختيار متعدد (مربعات الاختيار)" />
</div>
<LhTreeSelect v-model="embedded" :data="data" :teleported="false" placeholder="teleported=false لوحة مضمَّنة" />
<p class="demo-note">
فردي: {{ single || '(غير محدد)' }}؛ متعدد: {{ multi.join('، ') || '(غير محدد)' }}؛ مضمَّن: {{
embedded || '(غير محدد)'
}}
</p>
</div>
</template>
<script>
export default {
data: () => ({
single: 'xishan',
multi: [],
embedded: '',
data: [
{
key: 'song',
label: 'سلالة سونغ',
children: [
{ key: 'fan', label: 'فان كوان' },
{ key: 'xishan', label: 'المسافرون بين الجبال والوديان' },
],
},
{ key: 'yuan', label: 'سلالة يوان', children: [{ key: 'huang', label: 'هوانغ غونغوانغ' }] },
],
}),
}
</script>
# Props
| خاصية | الوصف | النوع | الافتراضي |
|---|---|---|---|
| data | بيانات الشجرة | LhTreeNode[] | [] |
| v-model | القيمة الحالية؛ فردي يكون سلسلة مفتاح، ومتعدد مصفوفة مفاتيح مختارة | string \| string[] | — |
| multiple | اختيار متعدد (تُعرض مربعات الاختيار، والقيمة مصفوفة مفاتيح) | boolean | false |
| disabled | معطّل | boolean | false |
| placeholder | نص العنصر النائب | string | حزمة اللغة |
| teleported | ما إذا كانت اللوحة تُحمَّل على body | boolean | true |
| sx | خاصية sx المختصرة للتخطيط | — | — |
# Events
input (v-model), change (value)
# إمكانية الوصول
العنصر المُشغِّل role="combobox" + aria-expanded، وتُورَّث دلالات role="tree" / role="treeitem" الخاصة بـ LhTree داخل اللوحة؛
في وضع الاختيار المتعدد تُضبط مربعات الاختيار بـ aria-checked، مع دعم كامل للتنقّل بلوحة المفاتيح.
Copyright © 2024-2026 FengMo WenXue