BMC IO DocsBMC IO Docs
IO v6
IO v7
Notes
Docs
IO v6
IO v7
Notes
Docs
  • IO Framework v7

    • О фреймворке
    • Что изменилось в 7 версии
    • Структура
    • Доступ к участкам проекта
    • Разворачивание нового проекта
  • Backend

    • Настройки проекта Conf.php
    • Настройки модуля Module.php
    • Настройки composer
    • Функции фреймворка
    • Глобальные переменные
    • Константы фреймворка
    • Event класс
    • Core класс
    • Route и работа с ними
    • Request и работа с ними
    • Middleware и работа с ними
    • Class и работа с ними
    • Api model и работа с ними
    • Template и работа с ними
    • Мультиязычность и словарь фраз
    • Bin скрипты и работа с ними
    • Cron скрипты и работа с ними
    • $ioSession и работа с сессией
    • $ioHash и работа с кешем
    • $ioXCache и работа с кешем
    • $iodb и работа с базой данных
  • Frontend

    • Twig шаблонизатор и работа с ним
    • Twig функции
    • Twig фильтры
    • Twig контекст
    • Настройка NPM
    • Сборка Frontend составляющей
    • Обращение к Api через JS
    • Хранилище (store)
    • Навигация в хосте
    • Навигация в микрофронтенде
    • Параметры микрофронтенда
    • Проверка полномочий
  • Tailux UI Компоненты

    • Базовый UI

      • AvatarDot
      • Avatar
      • Badge
      • Button
      • Card
      • ConfirmModal
      • Divider
      • Highlight
      • Tag
    • Загрузка

      • Circlebar
      • Progress
      • Skeleton
      • Spinner
    • Навигация

      • Accordion
      • AccordionButton
      • AccordionHeader
      • AccordionItem
      • AccordionPanel
      • AccordionProvider
      • Pagination
      • PaginationControl
      • PaginationItems
      • PaginationDots
      • PaginationFirst
      • PaginationLast
      • PaginationNext
      • PaginationPrevious
    • Отображение данных

      • Box
      • Collapse
      • ContextualHelp
      • ScrollShadow
      • Timeline
      • TimelineItem
    • Элементы таблиц

      • Table
      • CollapsibleSearch
      • ColumnFilter
      • CopyableCell
      • DateFilter
      • FacetedFilter
      • FilterSelector
      • PaginationSection
      • RadioFilter
      • RangeFilter
      • ResponsiveFilter
      • RoleFilter
      • SelectedRowsActions
      • TableColumnVisibility
      • TableSettings
      • TableSortIcon
    • Элементы форм

      • Checkbox
      • Combobox
      • DatePicker
      • Filepond
      • Input
      • Listbox
      • Radio
      • Range
      • Select
      • StyledSwitch
      • Swap
      • SwapOn
      • SwapOff
      • Switch
      • Textarea
      • TextEditor
      • Upload

SelectedRowsActions

Компонент SelectedRowsActions — это плавающая панель действий, которая появляется при выборе строк таблицы. Предоставляет кнопки для удаления, сброса выделения и дополнительные действия через выпадающее меню.

Обзор

  • Основное назначение: массовые операции над выбранными строками таблицы.
  • Ключевые возможности:
    • Отображение количества выбранных строк.
    • Кнопка удаления с индикатором загрузки.
    • Кнопка сброса выделения.
    • Выпадающее меню с дополнительными действиями (экспорт CSV, PDF, печать).
    • Адаптивный дизайн: на мобильных — только иконки, на десктопах — иконки с текстом.
    • Автоматическое скрытие, если нет выбранных строк.

API компонента

Props

ПропТипПо умолчаниюОписание
tableObject(обязательный)Экземпляр таблицы TanStack Table. Должен содержать методы getIsSomeRowsSelected(), getIsAllRowsSelected(), getSelectedRowModel(), getCoreRowModel(), resetRowSelection() и options.meta.deleteRows().
heightNumber60Высота панели действий в пикселях.

Зависимости от table.options.meta

МетодОписание
meta.deleteRows(rows)Метод для удаления выбранных строк. Вызывается с массивом выбранных строк.

Структура

Панель состоит из:

  1. Счётчик: текст вида «3 Selected from 50» (на мобильных только «3 Selected»).
  2. Кнопка удаления: с иконкой корзины и индикатором загрузки (Spinner).
  3. Кнопка отмены: сбрасывает выделение (resetRowSelection()).
  4. Меню «More»: выпадающий список с дополнительными действиями:
    • Export CSV
    • Export PDF
    • Save as view
    • Print

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

<template>
    <div class="relative">
        <SelectedRowsActions :table="table" />
        <Table>
            <!-- содержимое таблицы с чекбоксами -->
        </Table>
    </div>
</template>

<script>
import { useVueTable, getCoreRowModel, getRowSelectionRowModel } from '@tanstack/vue-table';

export default {
    setup() {
        const table = useVueTable({
            data: [...],
            columns: [
                {
                    id: 'select',
                    header: ({ table }) => h(Checkbox, {
                        checked: table.getIsAllRowsSelected(),
                        onChange: () => table.toggleAllRowsSelected(),
                    }),
                    cell: ({ row }) => h(Checkbox, {
                        checked: row.getIsSelected(),
                        onChange: () => row.toggleSelected(),
                    }),
                },
                // ...остальные колонки
            ],
            getCoreRowModel: getCoreRowModel(),
            getRowSelectionRowModel: getRowSelectionRowModel(),
            meta: {
                deleteRows(rows) {
                  // Логика удаления
                },
            },
        });
        return { table };
    },
};
</script>
Prev
RoleFilter
Next
TableColumnVisibility