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), которое является массивом и описывает дочерние элементы узла дерева | string | children | |
| CombineConfig | Конфигурация всех событий компонента. Служебное свойство для генерации фрагментов кода в визуальном режиме редактора форм. Не рекомендуется указывать значение вручную | object | ||
| CurrentItem | Псевдоним свойств InputCurrentItem и OutputCurrentItem | any | ||
| Hidden | Признак состояния компонента Скрыт | boolean | False | |
| Hint | Всплывающая подсказка над компонентом, чаще используемая для подробного пояснения кратко го текста | any | ||
| Id | Идентификатор компонента для навигации к нему на HTML-странице | string | ||
| InputCurrentItem | Входной параметр компонента: идентификатор текущего выбранного узла дерева | any | ||
| InputOpenedItems | Входной параметр компонента: массив идентификаторов раскрытых узлов | array | ||
| ItemAlias | Идентификатор повторяющегося набора данных | string | item | |
| ItemHeight | Высота элемента в пикселях | number | 30 | |
| ItemIndexVariable | Имя переменной для доступа к набору данных текущей итерации | string | i | |
| KeyField | Поле структуры (являющейся элементом массива, переданного в свойстве Value), которое определяет идентификатор узла в дереве | string | id | |
| LocalizationDictionary | Имя словаря для локализации любых надписей, используемых в дереве | string | ||
| OnClick | Обработчик события нажатия кнопки мыши | undefined | ||
| OnKeyDown | Обработчик события KeyDown | undefined | ||
| OnKeyUp | Обработчик события KeyUp | undefined | ||
| OnMouseDown | Обработчик события MouseDown | undefined | ||
| OnMouseEnter | Обработчик события MouseEnter | undefined | ||
| OnMouseLeave | Обработчик события MouseLeave | undefined | ||
| OnMouseMove | Обработчик события MouseMove | undefined | ||
| OnMouseOut | Обработчик события MouseOut | undefined | ||
| OnMouseOver | Обработчик события MouseOver | undefined | ||
| OnMouseUp | Обработчик события MouseUp | undefined | ||
| OnUnmount | Обработчик события Unmount | undefined | ||
| OpenedItems | Псевдоним свойств InputOpenedItems и OutputOpenedItems | array | ||
| OutputCurrentItem | Выходной параметр компонента: идентификатор текущего выбранного узла дерева | any | ||
| OutputOpenedItems | Выходной параметр компонента: массив идентификаторов раскрытых узлов | array | ||
| ScrollToItem | Идентификатор элемента, который должен быть отображен на экране в результате автоматической прокрутки. Если элемент является дочерним, раскрываются все его родительские узлы. После прокрутки значение переданной переменной сбрасывается в null. | any | ||
| ShowExpandAll | Признак отображения кнопки “Разверн уть все” | boolean | True | |
| Slot | Метка для динамического добавления другого компонента по его идентификатору | string | ||
| Tooltip | Всплывающая подсказка над компонентом, чаще используемая для пояснения назначения значка | any | ||
| TraceId | Идентификатор для отслеживания состояния компонента исходя из хронологической последовательности: создание, отрисовка, обновление, удаление; используется для выполнения фрагмента кода по изменению состояния компонента | string | ||
| Value | Массив структур, описывающий структуру дерева, текст и значки в узлах дерева | array | ||
| ValueField | Поле структуры (являющейся элементом массива, переданного в свойстве Value), которое определяет текст в узле дерева | string | text | |
| Visible | Признак инверсии состояния компонента Скрыт | boolean | True | 
Примеры
Данные:
  
    "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>