Перейти к основному содержимому

Tree

Отображает элементы в виде древовидной структуры

Используется для отображения многоуровневого списка элементов в виде древовидной структуры. Позволяет делать следующее:

  • сворачивать и разворачивать узлы дерева;
  • изменять значки в узлах дерева;
  • обрезать текст по ширине контейнера, в который помещен компонент.
<Tree
Value={
[{id: 1, text: 'группа1', children: []},
{id: 2, text: 'группа2', children: [
{id: 3, text: 'элемент1'},
]},
]}
OpenedItems-var="openedItems"
CurrentItem-var="currentItem"
/>

Свойства

ИмяОписаниеТипЗначение по умолчаниюВозможные значения
CSSМассив строк-классов CSS-стилей компонентаarray
ChevronClosedIconЗначок группы элементов в свернутом состоянииstring
ChevronOpenedIconЗначок группы элементов в развернутом состоянииstring
ChildrenFieldПоле структуры (являющейся элементом массива, переданного в свойстве Value), которое является массивом и описывает дочерние элементы узла дереваstringchildren
CurrentItemПсевдоним свойств InputCurrentItem и OutputCurrentItemany
HiddenПризнак состояния компонента Скрытboolean
HintВсплывающая подсказка над компонентом, чаще используемая для подробного пояснения краткого текстаany
IdИдентификатор компонента для навигации к нему на HTML-страницеstring
InputCurrentItemВходной параметр компонента: идентификатор текущего выбранного узла дереваany
InputOpenedItemsВходной параметр компонента: массив идентификаторов раскрытых узловarray
ItemAliasИдентификатор повторяющегося набора данныхstringitem
ItemIndexVariableИмя переменной для доступа к набору данных текущей итерацииstringi
KeyFieldПоле структуры (являющейся элементом массива, переданного в свойстве Value), которое определяет идентификатор узла в деревеstringid
LocalizationDictionaryИмя словаря для локализации любых надписей, используемых в деревеstring
OnClickОбработчик события Clickundefined
OnKeyDownОбработчик события KeyDownundefined
OnKeyUpОбработчик события KeyUpundefined
OnMouseDownОбработчик события MouseDownundefined
OnMouseEnterОбработчик события MouseEnterundefined
OnMouseLeaveОбработчик события MouseLeaveundefined
OnMouseMoveОбработчик события MouseMoveundefined
OnMouseOutОбработчик события MouseOutundefined
OnMouseOverОбработчик события MouseOverundefined
OnMouseUpОбработчик события MouseUpundefined
OnUnmountОбработчик события Unmountundefined
OpenedItemsПсевдоним свойств InputOpenedItems и OutputOpenedItemsarray
OutputCurrentItemВыходной параметр компонента: идентификатор текущего выбранного узла дереваany
OutputOpenedItemsВыходной параметр компонента: массив идентификаторов раскрытых узловarray
SlotМетка для динамического добавления другого компонента по его идентификаторуstring
TooltipВсплывающая подсказка над компонентом, чаще используемая для пояснения назначения значкаany
TraceIdИдентификатор для отслеживания состояния компонента исходя из хронологической последовательности:
создание, отрисовка, обновление, удаление; используется для выполнения фрагмента кода по изменению состояния компонента
string
ValueМассив структур, описывающий структуру дерева, текст и значки в узлах дереваarray
ValueFieldПоле структуры (являющейся элементом массива, переданного в свойстве Value), которое определяет текст в узле дереваstringtext
VisibleПризнак инверсии состояния компонента СкрытbooleanTrue

Примеры

Данные:

"DATA": [
{ "key": "1", "name": "Санкт-Петербург", "children": [], "icon": "bullet" },
{
"key": "2",
"name": "Москва",
"icon": "delete_item",
"children": [
{
"key": "54",
"name": "Ялта",
"icon": "bullet",
"children": [
{
"key": "55",
"name": "Мыс Фиолент",
"icon": "delete_item"
}
]
}
]
}
]

JSX:

<Tree
Value-var="DATA"
KeyField="key"
ValueField="name"
ItemAlias="row"
OpenedItems-var="openedItems"
CurrentItem-var="currentItem"
ChevronClosedIcon="folder"
ChevronOpenedIcon="folderOpen"
LocalizationDictionary="FrontendProject"
>
<Group>
<Group Visible-var="row.children" VerticalAlign="Center">
<Icon Size="Small" Name-var="row.icon" CSS={['px-4']} />
<Text Mode="Medium_16" Value-var="row.name"/>
</Group>
<Group Hidden-var="row.children" VerticalAlign="Center">
<Icon Size="Small" Name="row.icon" CSS={['px-4']} />
<Text Value-var="row.name"/>
</Group>
</Group>
</Tree>