Таблица

Компонент Table — это мощный и гибкий компонент Vue.js для отображения и управления табличными данными. Он поддерживает сортировку, фильтрацию, группировку, пагинацию, встроенное редактирование и обширные возможности стилизации.

Базовое использование

Компонент Table можно использовать с минимальной конфигурацией для отображения набора данных. В своей основе он требует свойство data-source для предоставления данных для рендеринга. По умолчанию он автоматически генерирует столбцы на основе ключей объектов в источнике данных.

1
John Doe
30
2
Jane Smith
25
3
Bob Johnson
45
<script setup lang="ts">
  const tableData = [
    { id: 1, name: 'Джон Доу', age: 30 },
    { id: 2, name: 'Джейн Смит', age: 25 },
    { id: 3, name: 'Боб Джонсон', age: 45 },
  ];
</script>
<template>
  <Table :data-source="tableData" />
</template>

В этом примере компонент Table рендерит простую таблицу, используя массив tableData. Свойство data-source принимает массив объектов, где каждый объект представляет строку, а его ключи (id, name, age) используются для автоматического создания столбцов. Компонент отображает данные в базовом формате без необходимости дополнительной конфигурации. Этот подход идеально подходит для быстрой визуализации данных без настройки.

Конфигурация столбцов

Свойство columns позволяет определять структуру и поведение каждого столбца в компоненте Table. Оно принимает массив объектов IColumn, где каждый объект настраивает отдельный столбец.

Поле данных

Свойство dataField указывает ключ в объекте data-source, который соответствует данным этого столбца. Если оно не указано, столбец может не отображать данные, если они не выведены из ключей источника данных.

Name
Color
WeightGrams
Виноград
Желтый
1628
Персик
Красный
831
Яблоко
Зеленый
438
Банан
Зеленый
898
Клубника
Красный
1460
<template>
  <Table 
    :data-source="tableData" 
    :columns="[
      { dataField: 'name' }, 
      { dataField: 'color' }, 
      { dataField: 'weightGrams' }
    ]">
  </Table>
</template>

Имя

Свойство name предоставляет внутренний идентификатор для столбца, полезный для ссылок в шаблонах или логике.


<template>
  <Table :data-source="tableData" :columns="columns"/>
</template>

<script setup lang="ts">
  const tableData = [{id: 1, name: 'Джон Доу'}];
  const columns = [{dataField: 'name', name: 'userName'}];
</script>

Тип

Свойство type определяет тип данных столбца. Это свойство задаёт структуру и поведение столбца, включая то, как он обрабатывает фильтрацию и редактирование.

Строка или число

Когда свойство type установлено в "string" или "number", столбец настраивается для обработки текстовых или числовых данных соответственно.

Имя
Звездный рейтинг
Доступные номера
Городской Центр
2
162
Океанский Вид
4
130
Океанский Вид
1
46
Городской Центр
3
132
Городской Центр
5
19

<template>
  <Table :data-source="tableData" :columns="columns"/>
</template>

<script setup lang="ts">
  const tableData = [{id: 1, name: 'Джон Доу', age: 30}];
  const columns = [
    {dataField: 'name', type: 'string'},
    {dataField: 'age', type: 'number', isFilter: true}
  ];
</script>

Выбор

Когда свойство type установлено в "select", столбец настраивается для обработки выпадающих списков.

Имя
Страна
Звездный рейтинг
Небесная Линия
Италия
1
Горная Ложа
Италия
2
Океанский Вид
Япония
3
Городской Центр
Таиланд
3
Небесная Линия
Таиланд
1

<template>
  <Table :data-source="tableData" :columns="columns"/>
</template>

<script setup lang="ts">
  const tableData = [{id: 1, country: 'США'}];
  const columns = [{
    dataField: 'country',
    type: 'select',
    isFilter: true
  }];
</script>

Дата

Когда свойство type установлено в "date", столбец настраивается для обработки значений дат.

Имя
Создано
Обновлено
Дата начала
Дата окончания
Фестиваль
17.02.2025
18.11.2023
04.07.2023
03.01.2023
Конференция
11.10.2023
28.07.2024
14.04.2023
29.12.2023
Конференция
25.10.2022
19.02.2025
09.08.2023
03.07.2023
Спортивное событие
20.04.2025
31.05.2023
15.02.2023
03.11.2023
Конференция
24.12.2023
22.08.2025
07.02.2023
14.05.2023

<template>
  <Table :data-source="tableData" :columns="columns"/>
</template>

<script setup lang="ts">
  const tableData = [{id: 1, birthdate: '1990-01-01'}];
  const columns = [{
    dataField: 'birthdate',
    type: 'date',
    isFilter: true
  }];
</script>

Заголовок

Свойство caption настраивает текст, отображаемый в заголовке столбца, для улучшения читаемости или локализации. Если не указано, по умолчанию используется dataField с заглавной буквы.

Имя
Цвет
Вес (граммы)
Клубника
Оранжевый
690
Апельсин
Оранжевый
1444
Апельсин
Зеленый
306
Манго
Зеленый
319
Манго
Фиолетовый
83

<template>
  <Table :data-source="tableData" :columns="columns"/>
</template>

<script setup lang="ts">
  const tableData = [{id: 1, name: 'Джон Доу'}];
  const columns = [{dataField: 'name', caption: 'Полное имя'}];
</script>

Видимость

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

Отобразить
Имя
Цвет
Ананас
Розовый
Банан
Желтый
Виноград
Красный
Виноград
Оранжевый
Киви
Фиолетовый

<template>
  <Table :data-source="tableData" :columns="columns"/>
</template>

<script setup lang="ts">
  const tableData = [{id: 1, name: 'Джон Доу'}];
  const columns = [{dataField: 'id', visible: false}, {dataField: 'name'}];
</script>

Фильтрация

Свойство isFilter включает фильтрацию для столбца, позволяя пользователям фильтровать данные в этом столбце.

Имя
Цвет
Вес (граммы)
Банан
Красный
1419
Клубника
Желтый
714
Ананас
Желтый
735
Киви
Желтый
276
Апельсин
Желтый
1119

<template>
  <Table :data-source="tableData" :columns="columns"/>
</template>

<script setup lang="ts">
  const tableData = [{id: 1, name: 'Джон Доу'}];
  const columns = [{dataField: 'name', isFilter: true}];
</script>

Сортировка

Свойство isSort включает сортировку для столбца, позволяя пользователям сортировать данные по этому столбцу.

Имя
Цвет
Вес (граммы)
Персик
Красный
1686
Манго
Оранжевый
428
Арбуз
Фиолетовый
1998
Клубника
Зеленый
1016
Ананас
Оранжевый
904

<template>
  <Table :data-source="tableData" :columns="columns"/>
</template>

<script setup lang="ts">
  const tableData = [{id: 1, name: 'Джон Доу'}];
  const columns = [{dataField: 'name', isSort: true}];
</script>

Изменение размера

Свойство isResized позволяет вручную изменять размер столбца путём перетаскивания, давая пользователям возможность интерактивно настраивать ширину столбца.

Имя
Цвет
Вес (граммы)
Арбуз
Фиолетовый
744
Яблоко
Фиолетовый
420
Яблоко
Розовый
1008
Ананас
Оранжевый
740
Арбуз
Зеленый
753

<template>
  <Table :data-source="tableData" :columns="columns"/>
</template>

<script setup lang="ts">
  const tableData = [{id: 1, name: 'Джон Доу'}];
  const columns = [{dataField: 'name', isResized: true}];
</script>

Ширина

Свойство width задаёт начальную ширину столбца в пикселях, определяя фиксированную ширину для согласованного макета.

Имя
Цвет
Вес (граммы)
Яблоко
Зеленый
10.00
Клубника
Желтый
5.08
Персик
Желтый
8.18
Виноград
Розовый
0.35
Манго
Оранжевый
3.48

<template>
  <Table :data-source="tableData" :columns="columns"/>
</template>

<script setup lang="ts">
  const tableData = [{id: 1, name: 'Джон Доу'}];
  const columns = [{dataField: 'name', width: 200}];
</script>

Минимальная ширина

Свойство minWidth задаёт минимальную ширину столбца в пикселях, гарантируя, что столбец не станет меньше определённого размера, что полезно при изменении размера.

Имя
Цвет
Вес (граммы)
Ананас
Фиолетовый
5.45
Манго
Фиолетовый
8.82
Манго
Желтый
1.60
Клубника
Розовый
7.92
Манго
Розовый
7.87

<template>
  <Table :data-source="tableData" :columns="columns" is-resized/>
</template>

<script setup lang="ts">
  const tableData = [{id: 1, name: 'Джон Доу'}];
  const columns = [{dataField: 'name', minWidth: 100}];
</script>

Максимальная ширина

Свойство maxWidth задаёт максимальную ширину столбца в пикселях, ограничивая, насколько широким может стать столбец при изменении размера.

Имя
Цвет
Вес (граммы)
Манго
Красный
2.67
Яблоко
Красный
0.23
Яблоко
Фиолетовый
6.48
Ананас
Оранжевый
5.73
Киви
Фиолетовый
3.46

<template>
  <Table :data-source="tableData" :columns="columns" is-resized/>
</template>

<script setup lang="ts">
  const tableData = [{id: 1, name: 'Джон Доу'}];
  const columns = [{dataField: 'name', maxWidth: 300}];
</script>

Фильтр по умолчанию

Свойство defaultFilter задаёт начальное значение фильтра для столбца, предварительно применяя фильтр при загрузке таблицы.

Модель
Цвет
Цена (USD)
Цивик
Зеленый
80931
Модель S
Белый
26716
EV6
Зеленый
81195
EV6
Серебристый
56821
Королла
Зеленый
70900

<template>
  <Table :data-source="tableData" :columns="columns"/>
</template>

<script setup lang="ts">
  const tableData = [{id: 1, name: 'Джон Доу'}, {id: 2, name: 'Джейн Смит'}];
  const columns = [{dataField: 'name', isFilter: true, defaultFilter: 'Джон'}];
</script>

Сортировка по умолчанию

Свойство defaultSort задаёт начальный порядок сортировки для столбца, предварительно сортируя таблицу по этому столбцу при загрузке.

Модель
Цвет
Цена (USD)
Королла
Синий
25152
Мустанг
Зеленый
8880
Камри
Черный
79982
Модель S
Красный
56653
Цивик
Серебристый
37355

<template>
  <Table :data-source="tableData" :columns="columns"/>
</template>

<script setup lang="ts">
  const tableData = [{id: 1, name: 'Джон'}, {id: 2, name: 'Джейн'}];
  const columns = [{dataField: 'name', isSort: true, defaultSort: 'asc'}];
</script>

Маска

Свойство mask применяет маску ввода к значениям столбца для отображения или редактирования, форматируя значения ( например, номера телефонов, цены) единообразно.

Модель
Пробег (км)
Цена (USD)
EV6
169 975
32 725
Х5
131 059
29 600
Модель S
81 461
13 010
Камри
34 753
32 021
Модель S
163 885
13 503

<template>
  <Table :data-source="tableData" :columns="columns"/>
</template>

<script setup lang="ts">
  const tableData = [{id: 1, price: 1234.56}];
  const columns = [{dataField: 'price', mask: 'price'}];
</script>

Шаблон ячейки

Свойство cellTemplate указывает имя слота для пользовательского рендеринга содержимого ячейки, позволяя использовать пользовательский HTML или компоненты для отображения ячейки.

Имя
Страна
Рекомендуется
Звездный рейтинг
Небесная Линия
Германия
no
Океанский Вид
Япония
no
Городской Центр
Канада
yes
Океанский Вид
Италия
yes
Горная Ложа
Германия
yes

<template>
  <Table :data-source="tableData" :columns="columns">
    <template #customName="{ value }">
      <strong>{{ value }}</strong>
    </template>
  </Table>
</template>

<script setup lang="ts">
  const tableData = [{id: 1, name: 'Джон Доу'}];
  const columns = [{dataField: 'name', cellTemplate: 'customName'}];
</script>

Установка значения ячейки

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

Модель
Год
Пробег (км)
Цена (USD)
Королла
2009 year
139056 km
$ 33042
Камри
2001 year
30907 km
$ 60573
А4
2009 year
85992 km
$ 68422
А4
2019 year
56839 km
$ 57992
Модель S
2007 year
39556 km
$ 70115

<template>
  <Table :data-source="tableData" :columns="columns"/>
</template>

<script setup lang="ts">
  const tableData = [{id: 1, age: 30}];
  const columns = [{
    dataField: 'age',
    setCellValue: (column, value) => `${value} лет`
  }];
</script>

Параметры фильтра

Свойство paramsFilter позволяет предоставить частичные опции для фильтрации в зависимости от типа данных, указанного в свойстве type. В зависимости от type вы можете настроить поведение и внешний вид фильтра, используя соответствующие свойства.

  • Для типов "string" или "number": Используйте опции, специфичные для полей ввода.
  • Для типа "select": Используйте опции, специфичные для полей выбора.
  • Для типа "date": Используйте опции, специфичные для полей дат.

Обратитесь к соответствующей документации для получения дополнительной информации:

Свойства поля ввода

Для опций фильтрации при использовании полей ввода (типы "string" или "number") изучите свойства поля ввода.

Свойства поля выбора

Для опций фильтрации при использовании полей выбора (тип "select") изучите свойства поля выбора.

Свойства поля даты

Для опций фильтрации при использовании полей дат (тип "date") изучите свойства поля даты.

Класс

Свойство class позволяет применять пользовательские CSS-классы к различным частям столбца, включая заголовок, фильтр и содержимое ячеек.

Свойства классов столбца

Изучите различные свойства, доступные для настройки CSS-классов столбцов таблицы, включая ячейки заголовков, поля фильтров и ячейки данных. Погрузитесь в каждое свойство, чтобы узнать, как эффективно стилизовать разные части столбца.

Работа с данными

Настройте функциональность таблицы, такую как toolbar, sorting, filtering, search и grouping, для эффективного управления данными.

Панель инструментов таблицы

Свойство toolbar настраивает панель инструментов для таблицы. Её можно включить/выключить или настроить с помощью объекта с конкретными опциями.

Название таблицы
Имя
Цвет
Вес (граммы)
Виноград
Фиолетовый
1456
Банан
Красный
491
Ананас
Зеленый
1867
Яблоко
Фиолетовый
651
Яблоко
Фиолетовый
476

<Table
    :data-source="tableData"
    :toolbar="{ visible: true }">
</Table>
  • visible: Определяет, отображается ли панель инструментов.
  • search: Включает поле поиска на панели инструментов.

Установка toolbar в true включает панель инструментов с настройками по умолчанию. Предоставление объекта позволяет выполнить детальную настройку.

Сортировка

Свойство sort включает и настраивает сортировку для таблицы. Вы можете активировать её с поведением по умолчанию или настроить внешний вид и функциональность.

Имя
Цвет
Вес (граммы)
Виноград
Зеленый
100
Виноград
Красный
1651
Банан
Красный
953
Ананас
Розовый
685
Манго
Желтый
179

<Table
    :data-source="tableData"
    :sort="{ 
        visible: true, 
        icon: 'Bars' 
    }">
</Table>
  • visible: Переключает видимость функции сортировки.
  • icon: Указывает стиль иконки сортировки ("Bars" или "Arrow").

Установите sort в true для сортировки по умолчанию или предоставьте объект для большего контроля.

Фильтрация

Свойство filter включает фильтрацию строк в таблице. Её можно включить или настроить с расширенными опциями.

Имя
Цвет
Вес (граммы)
Персик
Зеленый
251
Апельсин
Красный
1431
Банан
Фиолетовый
1778
Манго
Желтый
1595
Яблоко
Оранжевый
346

<Table
    :data-source="tableData"
    :filter="{ 
        visible: true, 
        noFilter: 'Фильтры не применены', 
        isClearAllFilter: true 
    }">
</Table>
  • visible: Переключает функцию фильтрации.
  • noFilter: Сообщение, отображаемое, когда фильтры не применены.
  • isClearAllFilter: Включает опцию "Очистить все фильтры".

Установка filter в true активирует базовую фильтрацию, а предоставление объекта позволяет использовать расширенные конфигурации.

Свойство search включает функцию глобального поиска по данным таблицы.

Найти...
Имя
Цвет
Вес (граммы)
Арбуз
Красный
83
Персик
Оранжевый
1465
Ананас
Красный
1540
Банан
Зеленый
203
Персик
Оранжевый
585

<Table
    :data-source="tableData"
    :search="true">
</Table>

Установите search в true, чтобы позволить пользователям выполнять поиск по всему содержимому таблицы.

Группировка

Свойство grouping включает группировку данных в таблице. Вы можете указать поле группировки или предоставить объект конфигурации.

Имя
Цвет
Вес (граммы)
Розовый
Банан
Розовый
1667
Банан
Розовый
1364
Красный
Апельсин
Красный
1512
Виноград
Красный
1739
Зеленый
Ананас
Зеленый
1557

<Table
    :data-source="tableData"
    :grouping="{ visible: true, groupField: 'category' }">
</Table>
  • visible: Переключает функцию группировки.
  • groupField: Указывает поле, используемое для группировки.

Установка grouping в имя поля (например, "category") группирует строки по этому полю. Использование объекта предоставляет дополнительные возможности настройки.

Количество видимых строк

Свойство countVisibleRows определяет количество строк, видимых в таблице. Это полезно для ограничения числа отображаемых строк одновременно.

5
Видимые строки
Ананас
Красный
1694
false
США
1.67
Виноград
Оранжевый
1488
false
Таиланд
9.73
Арбуз
Розовый
920
true
Таиланд
4.54
Ананас
Желтый
213
true
Испания
8.07
Ананас
Фиолетовый
1519
false
Мексика
9.19

<Table
    :data-source="tableData"
    :countVisibleRows="10">
</Table>

Установите countVisibleRows в желаемое число, чтобы контролировать, сколько строк видно одновременно.

Изменение размера столбцов

Свойство resizedColumns включает или отключает изменение размера столбцов в таблице. Когда оно включено, пользователи могут регулировать ширину столбцов путём перетаскивания.

Имя
Цвет
Вес (граммы)
Клубника
Розовый
1140
Клубника
Зеленый
1617
Ананас
Оранжевый
934
Персик
Зеленый
1478
Банан
Розовый
429

<Table
    :data-source="tableData"
    :resizedColumns="true">
</Table>

Установите resizedColumns в true, чтобы разрешить изменение размера столбцов.

Количество данных при загрузке

Свойство countDataOnLoading определяет порог, при котором активируется индикатор загрузки данных. Это особенно полезно для улучшения пользовательского опыта во время операций, таких как поиск или фильтрация, при работе с большими наборами данных.

Предопределённые значения включают 100, 1000 и 10000.

Найти...
Имя
Цвет
Вес (граммы)
Виноград
Зеленый
1289
Банан
Розовый
1605
Яблоко
Желтый
931
Виноград
Фиолетовый
1586
Ананас
Оранжевый
814

<Table
    :search="true"
    :data-source="tableData"
    :countDataOnLoading="1000">
</Table>

Установите countDataOnLoading, чтобы определить количество строк, при котором должен появляться индикатор загрузки. Например, во время поиска или фильтрации, если набор данных превышает этот порог, будет показан индикатор загрузки для улучшения пользовательского опыта.

Итоги

Свойство summary позволяет определять и отображать итоговые строки в таблице. Эта функция позволяет выполнять вычисления (например, сумму, минимум, максимум) над указанными полями и настраивать, как результаты отображаются.

Поле данных

Свойство dataField указывает поле данных, для которого рассчитывается итог.

Апельсин
Желтый
1236
Апельсин
Оранжевый
1829
Арбуз
Зеленый
894
Персик
Зеленый
1561
Арбуз
Оранжевый
1599
Count: 5
Count: 5
Count: 5

<Table
    :data-source="tableData"
    :summary="{ dataField: 'price' }">
</Table>

Указав dataField, вы определяете столбец, который будет использоваться для итоговых вычислений.

Имя

Свойство name предоставляет пользовательское имя для итога. Это полезно при отображении нескольких итогов.


<Table
    :data-source="tableData"
    :summary="{ 
        dataField: 'price', 
        name: 'totalPrice' 
    }">
</Table>

Установите name, чтобы присвоить итогу значимое название.

Тип данных

Свойство dataType определяет тип данных для итога. Оно гарантирует, что значения итогов форматируются корректно в зависимости от их типа. Доступные варианты:

  • "string": Для текстовых данных.
  • "number": Для числовых данных.
  • "select": Для данных на основе выпадающего списка.
  • "date": Для данных на основе дат.

<Table
    :data-source="tableData"
    :summary="{ 
        dataField: 'price',  
        dataType: 'number' 
    }">
</Table>

Установите dataType в соответствии с типом данных в указанном dataField. Например, используйте "number" для числовых значений или "date" для полей дат.

Тип

Свойство type определяет тип вычисления, выполняемого для итога. Доступные варианты:

  • "sum": Вычисляет сумму всех значений.
  • "min": Находит минимальное значение.
  • "max": Находит максимальное значение.
  • "avg": Вычисляет среднее значение всех значений.
  • "count": Подсчитывает количество строк.
Имя
Всего пользователей
Общая выручка
Активные пользователи
Новые пользователи сегодня
Квартальный анализ
29155
13101
34627
435
Квартальный анализ
71679
854711
39089
195
Квартальный анализ
2767
820497
45137
745
Ежедневная статистика
99102
514579
18845
755
Ежедневная статистика
73186
800120
38388
846
Count: 5
Avg: 55178
Min: 13101
Max: 45137
Sum: 2976

<Table
    :data-source="tableData"
    :summary="{ 
        dataField: 'price',
        dataType: 'number',
        type: 'sum' 
    }">
</Table>

Используйте type для настройки логики вычислений итога.

Формат отображения

Свойство displayFormat позволяет указать пользовательский формат для отображения результата итога. Вы можете использовать заполнители, такие как {0}, для представления вычисленного значения.

Предопределённые форматы включают:

  • "Sum: {0}" : Вычисляет сумму всех значений.
  • "Min: {0}" : Находит минимальное значение.
  • "Max: {0}" : Находит максимальное значение.
  • "Avg: {0}" : Вычисляет среднее значение всех значений.
  • "Count: {0}": Подсчитывает количество строк.
Имя
Всего пользователей
Общая выручка
Активные пользователи
Новые пользователи сегодня
Годовой обзор
66248
749678
575
382
Квартальный анализ
96550
331136
32573
214
Ежедневная статистика
25729
466226
19547
909
Годовой обзор
30399
871157
29944
339
Недельный отчет
65139
257675
28918
97
Имя: 5 (count)
Всего пользователей: 56813 (avg)
Общая выручка: 257675 (min)
Активные пользователи: 32573 (max)
Новые пользователи сегодня: 1941 (sum)

<Table
    :data-source="tableData"
    :summary="{ 
        dataField: 'price', 
        type: 'sum', 
        displayFormat: 'Итого: {0}' 
    }">
</Table>

Используйте displayFormat для настройки отображения результата итога в таблице.

Пользовательский текст

Свойство customizeText предоставляет функцию для динамической настройки текста итога. Эта функция принимает конфигурацию summary и вычисленный result в качестве параметров и возвращает форматированный текст.


<Table
    :data-source="tableData"
    :summary="{ 
    dataField: 'price', 
    type: 'sum', 
    customizeText: (summary, result) => `Итого: ${result}` 
  }">
</Table>

Используйте customizeText для продвинутого форматирования текста на основе вычисленного значения итога.

Пагинация

Свойство pagination позволяет настроить, как данные таблицы разделяются на страницы, и как отображаются элементы управления пагинацией.

Видимость

Свойство visible определяет, отображаются ли элементы управления пагинацией. Свойство pagination можно использовать двумя способами:

  1. Булевый ярлык: Если установлено в true, пагинация включается с настройками по умолчанию.
  2. Детальная конфигурация: Предоставление объекта позволяет настроить поведение пагинации.
Отобразить
Персик
Оранжевый
885
true
Китай
4.03
Виноград
Оранжевый
1816
false
США
9.08
Арбуз
Желтый
54
false
Мексика
5.58
Банан
Оранжевый
1293
true
Мексика
0.73
Яблоко
Желтый
387
true
США
0.70
1/100

<Table :data-source="tableData" pagination></Table>

Это включает пагинацию с конфигурацией по умолчанию.

Отобразить
Виноград
Зеленый
925
false
Мексика
4.09
Манго
Зеленый
1922
true
Таиланд
9.96
Яблоко
Фиолетовый
890
false
Бразилия
9.89
Виноград
Фиолетовый
1542
false
США
5.40
Клубника
Красный
928
false
Китай
4.05
1/100

<Table
    :data-source="tableData"
    :pagination="{ visible: true }">
</Table>

Использование объекта позволяет явно настроить параметры пагинации, такие как видимость, размер страницы и другие.

Установка visible в true гарантирует отображение элементов управления пагинацией, а false скрывает их.

Режим

Свойство mode определяет стиль элементов управления пагинацией. Доступные варианты:

  • "filled": Стиль с заполнением по умолчанию.
  • "outlined": Стиль с обводкой.
  • "underlined": Стиль с подчёркиванием.
Режим
Виноград
Розовый
1300
true
Испания
6.69
Персик
Желтый
1302
false
Таиланд
4.62
Арбуз
Оранжевый
1465
false
Таиланд
4.20
Ананас
Желтый
741
true
Бразилия
6.45
Персик
Оранжевый
1559
true
Китай
0.08
1/100

<Table
    :data-source="tableData"
    :pagination="{ 
        visible: true, 
        mode: 'outlined' 
    }">
</Table>

Установите mode для настройки внешнего вида элементов управления пагинацией.

Начальная страница

Свойство startPage задаёт начальную страницу для отображения при рендеринге таблицы.

Банан
Розовый
273
false
Испания
5.44
Персик
Желтый
903
false
Испания
0.62
Банан
Желтый
207
false
Таиланд
6.67
Яблоко
Оранжевый
709
true
Бразилия
2.14
Киви
Фиолетовый
1751
false
Таиланд
3.58
1/100

<Table
    :data-source="tableData"
    :pagination="{ 
        visible: true, 
        startPage: 2 
    }">
</Table>

Используйте startPage для установки номера страницы по умолчанию.

Размер страницы

Свойство sizePage определяет количество элементов, отображаемых на одной странице. Предопределённые значения включают 5, 15, 20, 50, 100 и 150.

Размер страницы
Яблоко
Оранжевый
525
false
Индия
8.04
Арбуз
Оранжевый
1384
true
США
5.49
Виноград
Оранжевый
680
true
Бразилия
1.76
Ананас
Зеленый
108
true
Испания
4.30
Ананас
Зеленый
922
false
Мексика
8.36
1/25

<Table
    :data-source="tableData"
    :pagination="{ 
        visible: true, 
        sizePage: 20 
    }">
</Table>

Установите sizePage для контроля количества строк, отображаемых на странице.

Селектор размеров

Свойство sizesSelector определяет доступные варианты размеров страниц, которые пользователи могут выбрать.

Клубника
Красный
131
false
Таиланд
0.36
Киви
Желтый
1849
true
Бразилия
8.93
Апельсин
Зеленый
1121
true
Индия
6.98
Арбуз
Желтый
671
false
Испания
4.51
Клубника
Розовый
1098
false
Мексика
0.41
1/50

<Table
    :data-source="tableData"
    :pagination="{ 
        visible: true, 
        sizesSelector: [10, 25, 50] 
    }">
</Table>

Установите sizesSelector для предоставления пользовательского списка вариантов размеров страниц.

Количество видимых страниц

Свойство visibleNumberPages определяет, сколько номеров страниц отображается в элементе управления пагинацией. Допустимые значения: 5, 6, 7, 8, 9, 10 или 11.

Виноград
Оранжевый
1326
false
Бразилия
7.72
Клубника
Зеленый
1194
false
Испания
8.43
Банан
Красный
923
true
Таиланд
9.29
Киви
Желтый
53
false
Испания
9.69
Апельсин
Оранжевый
1197
true
Китай
5.68
1/100

<Table
    :data-source="tableData"
    :pagination="{ 
        visible: true, 
        visibleNumberPages: 7 
    }">
</Table>

Установите visibleNumberPages для контроля количества видимых кнопок страниц.

Информационный текст

Свойство isInfoText включает информационный текст о состоянии пагинации, например, "Страница 1 из 5".

Клубника
Фиолетовый
1456
true
Мексика
9.86
Ананас
Зеленый
1298
true
Таиланд
9.46
Ананас
Фиолетовый
1218
false
Мексика
2.02
Манго
Желтый
757
true
Таиланд
0.18
Банан
Фиолетовый
233
false
Индия
0.70
1/100

<Table
    :data-source="tableData"
    :pagination="{ 
        visible: true, 
        isInfoText: true 
    }">
</Table>

Установите isInfoText в true для отображения информационного текста пагинации.

Селектор размера страницы

Свойство isPageSizeSelector включает выпадающий список для выбора размера страницы.

Киви
Оранжевый
1873
true
Индия
9.22
Яблоко
Красный
1422
true
Бразилия
5.01
Персик
Зеленый
1014
false
Индия
8.47
Яблоко
Оранжевый
737
true
Бразилия
2.97
Ананас
Красный
387
true
Таиланд
5.32
1/100

<Table
    :data-source="tableData"
    :pagination="{ 
        visible: true, 
        isPageSizeSelector: true 
    }">
</Table>

Установите isPageSizeSelector в true, чтобы позволить пользователям выбирать количество строк на странице.

Скрытие кнопок навигации

Свойство isHiddenNavigationButtons скрывает кнопки навигации пагинации (например, "Следующая" и "Предыдущая"), когда установлено в true.

Яблоко
Зеленый
583
false
Испания
9.45
Банан
Оранжевый
222
true
США
6.98
Яблоко
Красный
287
true
Испания
9.90
Манго
Фиолетовый
865
false
Бразилия
5.01
Яблоко
Розовый
1367
false
США
1.22
1/100

<Table
    :data-source="tableData"
    :pagination="{ 
        visible: true, 
        isHiddenNavigationButtons: true 
    }">
</Table>

Установите isHiddenNavigationButtons в true для скрытия кнопок навигации.

Класс

Свойство class позволяет применять пользовательские CSS-классы к элементам управления пагинацией для стилизации.

Банан
Розовый
1204
true
США
7.86
Клубника
Розовый
1276
false
Индия
1.92
Арбуз
Зеленый
1044
false
Мексика
7.85
Клубника
Розовый
147
false
Таиланд
4.93
Апельсин
Оранжевый
1618
false
Китай
8.50
1/100

<Table
    :data-source="tableData"
    :pagination="{ 
        visible: true, 
        class: 'custom-pagination-class' 
    }">
</Table>

Установите class для стилизации элементов управления пагинацией с помощью пользовательских CSS-классов.

Слоты

Слоты — это настраиваемые секции таблицы, которые позволяют внедрять собственное содержимое. Таблица предоставляет предопределённые слоты, такие как toolbar, header, footer и group. Кроме того, можно создавать динамические слоты для пользовательского содержимого.

Панель инструментов

Слот #toolbar позволяет настраивать секцию панели инструментов таблицы. Это полезно для добавления пользовательских кнопок, фильтров или дополнительных элементов управления.

Название таблицы
Имя
Цвет
Вес (граммы)
Арбуз
Желтый
1900
Ананас
Фиолетовый
850
Клубника
Желтый
591
Киви
Желтый
1141
Манго
Желтый
1932

<Table
    :data-source="tableData"
    :toolbar="{ visible: true }">
  <template #toolbar>
    <button @click="addRow">Добавить строку</button>
  </template>
</Table>

Примечание: Для отображения панели инструментов свойство visible должно быть явно установлено в true в конфигурации toolbar.

Используя слот #toolbar, вы можете внедрить пользовательское содержимое в область панели инструментов, гарантируя её видимость, установив visible: true.

Слот #header позволяет настраивать заголовок таблицы. Вы можете изменить внешний вид заголовков столбцов или добавить дополнительные элементы.

Название таблицы
Имя
Цвет
Вес (граммы)
Арбуз
Зеленый
1207
Апельсин
Красный
1781
Яблоко
Желтый
1759
Клубника
Красный
491
Виноград
Оранжевый
213

<Table :data-source="tableData">
  <template #header>
    <div class="custom-header">Мой пользовательский заголовок</div>
  </template>
</Table>

Используйте слот #header для замены или улучшения заголовка таблицы по умолчанию.

Группа

Слот #group используется для настройки внешнего вида сгрупгпированных строк. Это особенно полезно, когда вы хотите добавить пользовательские визуальные элементы или форматирование к сгруппированным данным.

  • item: Сгруппированный элемент.
  • length: Общее количество сгруппированных элементов.
Имя
Цвет
Вес (граммы)
Зеленый
Виноград
Зеленый
1504
Яблоко
Зеленый
304
Киви
Зеленый
1676
Апельсин
Зеленый
178
Клубника
Зеленый
438

<Table :data-source="groupedData">
  <template #group="{ item, length }">
    <div class="custom-group">
      {{ item }} ({{ length }} элементов)
    </div>
  </template>
</Table>

Используйте слот #group для определения отображения сгруппированных строк.

Слот #footer позволяет настраивать секцию нижнего колонтитула таблицы. Это полезно для добавления итогов, элементов управления пагинацией или других пользовательских элементов.

Имя
Цвет
Вес (граммы)
Киви
Розовый
1548
Апельсин
Красный
1653
Виноград
Оранжевый
1037
Яблоко
Фиолетовый
918
Клубника
Красный
581

<Table :data-source="tableData">
  <template #footer>
    <div>Всего строк: {{ tableData.length }}</div>
  </template>
</Table>

Используйте слот #footer для добавления содержимого или функциональности в нижний колонтитул таблицы.

Динамические слоты

Помимо предопределённых слотов, динамические слоты позволяют настраивать содержимое для конкретных ячеек или компонентов таблицы динамически. Динамические слоты используют ключи для таргетинга на определённые столбцы или строки.

Следующие аргументы передаются в динамические слоты:

  • name: Имя слота.
  • key: Ключ столбца или строки.
  • column: Объект конфигурации столбца.
  • rowData: Данные текущей строки.
  • value: Значение ячейки.
  • valueWithMarker: Значение ячейки с применёнными маркерами.
  • isCloseEditor: Функция для управления закрытием редактора ячейки.
  • editValue: Функция для редактирования значения ячейки.
Имя
Цвет
Вес (граммы)
Банан
Желтый
628
Яблоко
Зеленый
1279
Апельсин
Красный
1235
Яблоко
Фиолетовый
1858
Ананас
Розовый
1425

<Table :data-source="tableData">
  <template #customSlot="{ value }">
    <div class="custom-cell">
      {{ value }}
    </div>
  </template>
</Table>

Динамические слоты обеспечивают гибкость для настройки отдельных ячеек или строк на основе предоставленных аргументов.

Стили

Этот раздел предоставляет опции для настройки внешнего вида и стилизации таблицы. Вы можете контролировать режимы стилизации, применять пользовательские CSS-классы и настраивать детализированные свойства стилей.

Режим

Свойство mode определяет общий режим стилизации таблицы. Доступные варианты:

  • "filled": Стиль таблицы с заполнением.
  • "outlined": Таблица с контурными границами.
  • "underlined": Таблица с подчёркнутыми строками или столбцами.
Режим
Name
Color
WeightGrams
Арбуз
Зеленый
1953
Ананас
Красный
1371
Виноград
Желтый
1398
Виноград
Зеленый
1993
Банан
Розовый
1750
Кол. 500
Кол. 500
Кол. 500

<Table
    :columns="true"
    :summary="true"
    :filter="true"
    :data-source="tableData"
    :mode="'outlined'">
</Table>

Установите mode для определения общего внешнего вида таблицы.

Нет данных

Свойство noData определяет сообщение, отображаемое, когда в таблице нет доступных данных.

На данный момент данные отсутствуют.

<Table
    :data-source="[]"
    :noData="'Данные временно недоступны.'">
</Table>

В этом примере сообщение "Данные временно недоступны." будет показано, когда источник данных пуст.

Нет столбцов

Свойство noColumn определяет сообщение, отображаемое, когда в таблице не определены столбцы.

Для таблицы не определены столбцы.

<Table
    :data-source="[{}]"
    :noColumn="'Столбцы для таблицы не определены.'">
</Table>

Здесь сообщение "Столбцы для таблицы не определены." будет отображено, когда конфигурации столбцов не предоставлены.

Класс

Свойство class позволяет применять пользовательские CSS-классы к контейнеру таблицы для дополнительной стилизации.

Клубника
Фиолетовый
1783
Киви
Оранжевый
578
Персик
Фиолетовый
367
Яблоко
Оранжевый
972
Арбуз
Зеленый
1526

<Table
    :data-source="tableData"
    :class="'custom-table-class'">
</Table>

Используйте class для применения пользовательских стилей, таких как отступы, цвета или границы, к контейнеру таблицы.

Стили

Свойство styles предоставляет всесторонний способ настройки внешнего вида таблицы. Ниже приведены примеры, демонстрирующие различные конфигурации свойства styles.

Пользовательский класс и граница

Вы можете определять пользовательские CSS-классы и стили границ для таблицы.

Зоны таблицы
Граница таблицы
Панель инструментов
Заголовок
Name
Color
WeightGrams
Оранжевый
Виноград
Оранжевый
1544
Банан
Оранжевый
1756
Манго
Оранжевый
1991
Клубника
Оранжевый
639
Апельсин
Оранжевый
426
1/10
Футер

<Table
    :data-source="tableData"
    :styles="{
        class: 'custom-table-class',
        border: 'custom-table-border'
    }">
</Table>

В этом примере применяется пользовательский CSS-класс, и отображается только нижняя граница.

Пользовательская ширина и высота

Вы можете настроить ширину и высоту таблицы для соответствия вашему макету.

Ширина
Высота
Name
Color
WeightGrams
Розовый
Клубника
Розовый
524
Персик
Розовый
1317
Виноград
Розовый
632
Апельсин
Розовый
1969
Клубника
Розовый
1505
1/3

<Table
    :data-source="tableData"
    :styles="{
        width: '100%',
        height: '500px'
    }">
</Table>

Этот пример задаёт таблице ширину 100% от ширины контейнера и фиксированную высоту 500 пикселей.

Эффекты наведения и чередующиеся строки

Включите эффекты наведения и чередующиеся строки для лучшей визуализации строк.

Подсветка строк
Чередующиеся строки
Клубника
Красный
622
Киви
Фиолетовый
1475
Клубника
Зеленый
1517
Ананас
Желтый
1839
Персик
Фиолетовый
987

<Table
    :data-source="tableData"
    :styles="{
        hoverRows: true,
        isStripedRows: true
    }">
</Table>

Здесь строки изменяют внешний вид при наведении, и включены чередующиеся полосы строк.

Горизонтальные линии, вертикальные линии и линии фильтров

Управляйте отображением горизонтальных и вертикальных линий, а также включайте или отключайте линии фильтров.

Горизонтальные линии
Вертикальные линии
Фильтр строк
Name
Color
WeightGrams
Апельсин
Оранжевый
976
Яблоко
Зеленый
475
Апельсин
Желтый
225
Апельсин
Розовый
710
Яблоко
Фиолетовый
689

<Table
    :data-source="tableData"
    :styles="{
        horizontalLines: true,
        verticalLines: true,
        filterLines: true
    }">
</Table>

Этот пример гарантирует видимость разделителей строк и столбцов, а также отображение линий фильтров.

Радиус границы и высота ячейки

Настройте радиус границы и высоту ячеек таблицы для более индивидуального дизайна.

Радиус границы (пиксели)
Высота ячейки
Name
Color
WeightGrams
Арбуз
Розовый
749
Киви
Желтый
805
Ананас
Оранжевый
207
Апельсин
Розовый
1274
Апельсин
Оранжевый
1831

<Table
    :data-source="tableData"
    :styles="{
        borderRadiusPx: 10,
        heightCell: 50
    }">
</Table>

В этом примере таблица имеет скруглённые углы (радиус 10 пикселей), а каждая строка имеет высоту 50 пикселей.

Обзор стилей

Свойство styles предоставляет гибкий и всесторонний способ настройки внешнего вида вашей таблицы. Вы можете определять всё, от размеров, эффектов наведения и стилизации строк до анимаций, границ и форматирования текста. Это позволяет создать высоко индивидуализированный дизайн, соответствующий визуальным требованиям вашего приложения.

  • class: CSS-классы для различных частей таблицы.
  • width: Ширина таблицы (например, "100%", "800px").
  • height: Высота таблицы (например, "500px").
  • hoverRows: Стили, применяемые при наведении на строки (например, "hover:bg-neutral-100/90").
  • isStripedRows: Включение или отключение стилизации чередующихся строк.
  • horizontalLines: Показ или скрытие горизонтальных линий между строками.
  • verticalLines: Показ или скрытие вертикальных линий между столбцами.
  • filterLines: Отображение линий фильтров.
  • borderRadiusPx: Радиус границы таблицы (в пикселях).
  • heightCell: Высота ячеек таблицы (в пикселях).
  • defaultWidthColumn: Ширина столбца по умолчанию (например, "max-width: 600px;min-width:100px;width:auto").
  • maskQuery: Стилизация текста запроса (например, "font-bold text-theme-700 dark:text-theme-300").
  • animation: Стили анимации, такие как "transition-all duration-500" или "transition-none".
  • border: Стили границы таблицы (например, "border-0" или "border-t-0 border-b-0").

Используйте свойство styles для определения детализированного и целостного внешнего вида вашей таблицы, охватывающего все аспекты от размеров до эффектов наведения.

Стилизация столбцов

Свойство class позволяет применять пользовательские CSS-классы к различным частям столбца, включая заголовок, фильтр и содержимое ячеек.

Заголовочная ячейка

Примените пользовательский CSS-класс к ячейке заголовка (th). Это позволяет настраивать внешний вид ячеек заголовков таблицы в соответствии с вашими дизайнерскими потребностями.

Имя
Цвет
Вес (граммы)
Яблоко
Зеленый
90
Виноград
Желтый
1506
Банан
Желтый
227
Виноград
Фиолетовый
935
Ананас
Желтый
699

<template>
  <Table :data-source="tableData" :columns="columns"/>
</template>

<script setup lang="ts">
  const tableData = [{id: 1, name: 'Джон Доу'}];
  const columns = [{
    dataField: 'name',
    class: {th: 'class-th'}
  }];
</script>

Фильтр столбца

Свойство colFilter позволяет применять пользовательский CSS-класс к полю ввода фильтра столбца, давая возможность стилизовать элементы ввода фильтра.

Имя
Цвет
Вес (граммы)
Яблоко
Фиолетовый
590
Банан
Желтый
1546
Клубника
Красный
581
Виноград
Зеленый
995
Ананас
Фиолетовый
497

<template>
  <Table :data-source="tableData" :columns="columns"/>
</template>

<script setup lang="ts">
  const tableData = [{id: 1, name: 'Джон Доу'}];
  const columns = [{
    dataField: 'name',
    class: {colFilter: 'class-col-filter'}
  }];
</script>

Класс контейнера фильтра

Используйте свойство colFilterClass для применения пользовательского CSS-класса к контейнеру фильтра столбца, позволяя точно стилизовать контейнер фильтра.

Имя
Цвет
Вес (граммы)
Киви
Желтый
874
Персик
Фиолетовый
152
Персик
Оранжевый
1857
Манго
Желтый
1179
Банан
Фиолетовый
1254

<template>
  <Table :data-source="tableData" :columns="columns"/>
</template>

<script setup lang="ts">
  const tableData = [{id: 1, name: 'Джон Доу'}];
  const columns = [{
    dataField: 'name',
    class: {colFilterClass: 'class-col-filter-container'}
  }];
</script>

Класс тела фильтра

Свойство colFilterClassBody позволяет применять пользовательский CSS-класс к телу фильтра столбца, предоставляя дополнительный контроль над стилизацией тела фильтра.

Имя
Цвет
Вес (граммы)
Арбуз
Красный
933
Манго
Фиолетовый
182
Виноград
Фиолетовый
454
Ананас
Красный
1734
Киви
Оранжевый
627

<template>
  <Table :data-source="tableData" :columns="columns"/>
</template>

<script setup lang="ts">
  const tableData = [{id: 1, name: 'Джон Доу'}];
  const columns = [{
    dataField: 'name',
    class: {colFilterClassBody: 'class-col-filter-body'}
  }];
</script>

Текст столбца

Используйте свойство colText для применения пользовательского CSS-класса к текстовому содержимому в заголовке столбца. Это свойство помогает настраивать стиль текста в ячейках заголовков.

Имя
Цвет
Вес (граммы)
Виноград
Красный
1796
Банан
Зеленый
1603
Апельсин
Желтый
928
Яблоко
Оранжевый
867
Арбуз
Фиолетовый
927

<template>
  <Table :data-source="tableData" :columns="columns"/>
</template>

<script setup lang="ts">
  const tableData = [{id: 1, name: 'Джон Доу'}];
  const columns = [{
    dataField: 'name',
    class: {colText: 'class-col-text'}
  }];
</script>

Ячейка данных

Примените пользовательский CSS-класс к ячейкам данных таблицы (td). Это свойство позволяет настраивать внешний вид ячеек данных таблицы.

Имя
Цвет
Вес (граммы)
Персик
Оранжевый
116
Персик
Оранжевый
191
Арбуз
Розовый
940
Персик
Желтый
1230
Яблоко
Розовый
1184

<template>
  <Table :data-source="tableData" :columns="columns"/>
</template>

<script setup lang="ts">
  const tableData = [{id: 1, name: 'Джон Доу'}];
  const columns = [{
    dataField: 'name',
    class: {td: 'class-td'}
  }];
</script>

Текст ячейки

Свойство cellText позволяет применять пользовательский CSS-класс к текстовому содержимому внутри ячеек. Это предоставляет контроль над стилизацией текста ячеек.

Имя
Цвет
Вес (граммы)
Клубника
Красный
997
Апельсин
Красный
1527
Банан
Розовый
1484
Ананас
Зеленый
1914
Яблоко
Розовый
1444

<template>
  <Table :data-source="tableData" :columns="columns"/>
</template>

<script setup lang="ts">
  const tableData = [{id: 1, name: 'Джон Доу'}];
  const columns = [{
    dataField: 'name',
    class: {cellText: 'class-cell-text'}
  }];
</script>

Ячейка нижнего колонтитула

Свойство tf позволяет применять пользовательский CSS-класс к ячейке нижнего колонтитула (tf). Это полезно для настройки внешнего вида ячеек нижнего колонтитула.

Имя
Цвет
Вес (граммы)
Клубника
Зеленый
1107
Персик
Фиолетовый
163
Клубника
Красный
1878
Манго
Зеленый
562
Виноград
Желтый
573
Кол. 5
Кол. 5
Кол. 5

<template>
  <Table :data-source="tableData" :columns="columns"/>
</template>

<script setup lang="ts">
  const tableData = [{id: 1, name: 'Джон Доу'}];
  const columns = [{
    dataField: 'name',
    class: {tf: 'class-tf'}
  }];
</script>

Текст итога

Используйте свойство sumText для применения пользовательского CSS-класса к тексту итога в нижнем колонтитуле. Это свойство помогает настраивать стиль текста итога в ячейках нижнего колонтитула.

Имя
Цвет
Вес (граммы)
Арбуз
Красный
1734
Арбуз
Желтый
1505
Киви
Розовый
1849
Яблоко
Оранжевый
157
Клубника
Оранжевый
1418
Кол. 5
Кол. 5
Кол. 5

<template>
  <Table :data-source="tableData" :columns="columns"/>
</template>

<script setup lang="ts">
  const tableData = [{id: 1, name: 'Джон Доу'}];
  const columns = [{
    dataField: 'name',
    class: {sumText: 'class-sum-text'}
  }];
</script>

Редактирование

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

Включение режима редактирования

Чтобы включить редактирование для всей таблицы, используйте свойство :edit и установите его в true:

Имя
Роль
Создано
Обновлено
Алиса
guest
27.08.2022
05.08.2023
Зоя
user
19.06.2023
25.03.2025
Борис
guest
07.05.2022
15.09.2024
Юлия
guest
02.01.2024
06.04.2023
Борис
user
25.07.2024
28.01.2024

<Table
    :data-source="tableData"
    :edit="true">
</Table>

Это включает редактирование для всех столбцов таблицы.

Редактирование на уровне столбцов

Вы можете включать или отключать редактирование для конкретных столбцов, используя опцию edit в конфигурации столбца. Это позволяет настраивать, какие столбцы можно редактировать.

Имя
Возраст
Роль
Алиса
guest
Зоя
user
Борис
guest
Юлия
guest
Борис
user

<Table
    :columns="[
        { name: 'name', edit: false }, // Редактирование отключено для этого столбца
        { name: 'age', edit: true },
        { name: 'role', edit: true }
    ]"
    :data-source="tableData">
</Table>

В этом примере редактирование включено для столбцов id и name, но отключено для столбца age.


<Table
    :edit="true"
    :columns="[
        { name: 'id', edit: false }, // Редактирование отключено для этого столбца
        { name: 'name', edit: true }, // Редактирование остаётся включённым
    ]"
    :data-source="tableData">
</Table>

Эта комбинация включает редактирование для всей таблицы, но исключает определённые столбцы из возможности редактирования.

Настройка редакторов ячеек

Таблица предоставляет возможность настраивать редактор для каждой ячейки на основе типа данных столбца. Это достигается с помощью опции edit в конфигурации столбца:

Опции редактора столбца

columns: [
    {
        name: 'exampleColumn',
        type: 'string' | 'number' | 'select' | 'date', // Тип данных для столбца
        edit: {
            isEdit? : boolean, // Дополнительный флаг для включения или отключения редактирования
            editorOptions? : Partial<BaseInputProps> | Partial<BaseSelectProps> | Partial<BaseCalendarProps> // Конфигурация редактора
        }
    }
]
  • type: Определяет тип данных в столбце ("string", "number", "select" или "date").
  • editorOptions: Указывает дополнительную конфигурацию для редактора в зависимости от типа данных.

Обратитесь к соответствующей документации для получения дополнительной информации:

Свойства поля ввода

Для опций конфигурации при использовании полей ввода (типы "string" или "number") изучите свойства поля ввода.

Свойства поля выбора

Для опций конфигурации при использовании полей выбора (тип "select") изучите свойства поля выбора.

Свойства поля даты

Для опций конфигурации при использовании полей дат (тип "date") изучите свойства поля даты.

Редактирование данных

Таблица предоставляет набор методов для динамического редактирования, управления и взаимодействия с её данными. Эти методы доступны через refLink таблицы и позволяют реализовать функциональность, такую как добавление, обновление, удаление строк и многое другое.

Для полного списка доступных методов и их использования обратитесь к документации API таблицы.

Документация API таблицы

Изучите все доступные методы для редактирования таблицы, включая addRow, deleteRow, updateRow и другие, в документации API таблицы.

© 2025 FishtVue by Egoka