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

Tree

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

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

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

Свойства

ИмяОписаниеТипЗначение по умолчаниюВозможные значения
BadgeКоличественная информация в компонентах Menu, Accordion, Link, Text. В качестве значения может использоваться объект с полями: counter (число),
position ("post" или "pre"), color (цвет)
any
CSSМассив строк-классов CSS-стилей компонентаarray
ChevronClosedIconПсевдоним значка группы элементов в свернутом состоянииstring
ChevronOpenedIconПсевдоним значка группы элементов в развернутом состоянииstring
ChildrenFieldПоле структуры (являющейся элементом массива, переданного в свойстве Value), которое является массивом и описывает дочерние элементы узла дереваstringchildren
CombineConfigКонфигурация всех событий компонента. Служебное свойство для генерации фрагментов кода в визуальном режиме редактора форм.
Не рекомендуется указывать значение вручную
object
CurrentItemПсевдоним свойств InputCurrentItem и OutputCurrentItemany
HiddenПризнак состояния компонента СкрытbooleanFalse
HintВсплывающая подсказка над компонентом, чаще используемая для подробного пояснения краткого текстаany
IdИдентификатор компонента для навигации к нему на HTML-страницеstring
InputCurrentItemВходной параметр компонента: идентификатор текущего выбранного узла дереваany
InputOpenedItemsВходной параметр компонента: массив идентификаторов раскрытых узловarray
ItemAliasИдентификатор повторяющегося набора данныхstringitem
ItemHeightВысота элемента в пикселяхnumber30
ItemIndexVariableИмя переменной для доступа к набору данных текущей итерацииstringi
KeyFieldПоле структуры (являющейся элементом массива, переданного в свойстве Value), которое определяет идентификатор узла в деревеstringid
LocalizationDictionaryИмя словаря для локализации любых надписей, используемых в деревеstring
OnClickОбработчик события нажатия кнопки мышиundefined
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
ScrollToItemИдентификатор элемента, который должен быть отображен на экране в результате автоматической прокрутки. Если элемент является дочерним, раскрываются все его родительские узлы. После прокрутки значение переданной переменной сбрасывается в null.any
ShowExpandAllПризнак отображения кнопки “Развернуть все”booleanTrue
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>