TableSkeleton — это компонент из библиотеки Carbon Components Svelte, предназначенный для отображения скелетона таблицы в момент, когда данные еще загружаются. Он позволяет создавать визуальный эффект заполнения, что улучшает пользовательский опыт, особенно при работе с большими наборами данных или при задержках сетевого соединения.
| Свойство | Тип | Описание |
|---|---|---|
rowCount |
number |
Количество строк, которые должны отображаться в скелетоне. По умолчанию — 5. |
columnCount |
number |
Количество колонок скелетона. По умолчанию определяется
автоматически на основе columns. |
compact |
boolean |
Включает компактный режим таблицы с уменьшенной высотой строк. |
headers |
Array<string> |
Список заголовков колонок. Позволяет задать видимые заголовки даже для скелетона. |
border |
boolean |
Если true, отображает границы таблицы. |
Эти свойства обеспечивают гибкость настройки скелетона под конкретную таблицу, позволяя имитировать структуру конечной таблицы с данными.
Импорт компонента осуществляется стандартным способом:
<script>
import { TableSkeleton } from 'carbon-components-svelte';
</script>
<TableSkeleton rowCount={10} columnCount={5} compact={true} />
В этом примере создается скелетон таблицы с 10 строками и 5 колонками в компактном виде.
Для улучшенной визуализации скелетона рекомендуется использовать заголовки колонок. Это делает скелетон максимально похожим на реальную таблицу с данными:
<script>
import { TableSkeleton } from 'carbon-components-svelte';
const headers = ['Имя', 'Возраст', 'Профессия', 'Город', 'Статус'];
</script>
<TableSkeleton rowCount={8} headers={headers} border={true} />
Использование свойства headers позволяет визуально
подготовить пользователя к структуре таблицы, улучшая восприятие данных
после загрузки.
Скелетон таблицы поддерживает компактный режим для интерфейсов, где требуется экономия места.
<TableSkeleton rowCount={6} columnCount={4} compact={true} />
В компактном режиме строки становятся ниже, уменьшается пространство между ячейками, что особенно полезно для таблиц с большим количеством колонок на экране.
Скелетон наследует стили библиотеки Carbon, что обеспечивает единый визуальный стиль с другими компонентами.
border
добавляет стандартную границу таблицы.Пример с кастомным классом:
<TableSkeleton class="custom-skeleton" rowCount={5} columnCount={3} />
.custom-skeleton .bx--skeleton-row {
background-color: #e0e0e0;
}
Для интерфейсов, где количество колонок или заголовков зависит от данных, можно создавать TableSkeleton динамически:
<script>
import { TableSkeleton } from 'carbon-components-svelte';
let dataColumns = ['ID', 'Название', 'Категория', 'Цена'];
let rowCount = 12;
</script>
<TableSkeleton rowCount={rowCount} headers={dataColumns} />
Такой подход позволяет автоматически подстраивать скелетон под структуру таблицы, что делает интерфейс более предсказуемым и адаптивным.
TableSkeleton в Carbon Components Svelte — мощный инструмент для создания качественного пользовательского опыта при загрузке таблиц. Он легко настраивается, поддерживает заголовки, компактный режим и динамическую генерацию, что делает его идеальным для любых интерфейсов с табличными данными.