Skip to content

SList ​

Обзор ​

Список: статический, дерево, виртуализация и infinite scroll.

Usage ​

Плоский список с виртуализацией.

API ​

Краткий справочник props, slots и events — см. API Reference.

Guide ​

SList отображает коллекцию строк и поддерживает несколько режимов: плоский список, дерево, виртуализацию длинных списков и подгрузку при скролле. Строки оформляйте через SListItem.

Дерево ​

Иерархический список с expand/collapse.

Виртуальный скролл ​

Подгрузка при скролле ​

Декларативные элементы ​

API Reference ​

Свойства ​

ИмяТипОписаниеПо умолчанию
itemsTItem[]Плоский или древовидный набор элементов.—
itemKeyTListItemKeyResolver<TItem>Ключ строки для v-for и выбора.'id'
childrenKeykeyof TItem & stringПоле с дочерними элементами для дерева.'children'
titleKeykeyof TItem & stringПоле заголовка строки.'title'
subtitleKeykeyof TItem & stringПоле подзаголовка строки.'subtitle'
iconLeftKeykeyof TItem & stringПоле имени иконки слева.'iconLeft'
disabledKeykeyof TItem & stringПоле флага disabled.'disabled'
itemProps(…) => …Дополнительные пропсы и attrs (например, data-qa) для SListItem по элементу.—
selectionModeESelectionModeРежим выбора строк.'none'
mandatorybooleanЗапрещает снятие выбора в single-режиме.false
virtualbooleanВиртуальный скролл для длинных списков.—
gapESListGapВертикальный промежуток между строками.DEFAULT_LIST_GAP
estimateItemSizenumberОценка высоты строки для виртуализации.36
overscannumberЧисло строк вне viewport, рендеримых заранее.5
endReachedDistancenumberРасстояние до низа списка для события end-reached.0
canLoadMore(…) => …Предикат: можно ли запрашивать следующую порцию данных.—
heightnumber | stringВысота контейнера списка.320
maxHeightnumber | stringМаксимальная высота скролла при height: auto.—
revealRightbooleanПоказывать правую колонку действий при наведении.false
expandOnClickbooleanКлик по строке с потомками сворачивает/разворачивает ветку.false
selectedOnTopbooleanПлоские списки: выбранные строки группируются сверху, между группами — разделитель. Для деревьев игнорируется.false
hasMoreChildrenKeykeyof TItem & stringПоле-флаг «у раскрытого узла есть ещё дети для догрузки»; включает синтетическую строку «Показать ещё».—
loadingMoreChildrenKeysTItem[]Ключи узлов, для которых сейчас идёт догрузка детей (в их строке «Показать ещё» — спиннер).[]
modelValue / v-model:expandedstring[]Двустороннее значение для v-model:expanded.[]
modelValue / v-modelstring | undefinedДвустороннее значение компонента (v-model).—
modelValue / v-model:selectedstring | string[] | undefinedДвустороннее значение для v-model:selected.—

События ​

ИмяОписаниеPayload
endReachedДостигнут конец списка при прокрутке или виртуализации.{ direction: 'bottom' }
loadMoreChildrenЗапрос догрузки детей конкретного узла из строки «Показать ещё».{ key: string; item: TItem }
itemClickКлик (или Enter/Space) по штатной строке; для строк из слота item не эмитится.{ key: string; item: TItem }

Слоты ​

ИмяОписание
loadMoreСтрока «Показать ещё» для догрузки детей узла
itemКастомная строка; scope — данные строки и toggleExpanded
itemIconLeftИконка слева штатной строки; scope — данные строки
itemTitleЗаголовок штатной строки; scope — данные строки
itemSubtitleПодзаголовок штатной строки; scope — данные строки
defaultПроизвольные SListItem без prop items