К содержимому
uiify

File upload

Область перетаскивания и список файлов.

Браузеры
Chrome 123+Firefox 121+Safari 17.5+
Уровень
1
Сжатый размер
2.27 kB
Лимит принудительной компоновки
0 ms
Лимит axe
0
Совместим с SSR
Да
Публичный контракт
Тестовый стенд

Песочница

File upload

Attachments

Drop files here, or choose files above.

    Up to 3 files · 5 MB each

    API

    FileUpload.Root

    СвойствоТипПо умолчаниюОписание
    childrenReactNode—Части загрузки файлов: hidden input, trigger, dropzone и list.
    valuereadonly File[]—Текущие файлы, делающие компонент управляемым.
    defaultValuereadonly File[][]Начальные файлы неуправляемого компонента.
    onValueChange(files: File[]) => void—Вызывается с принятыми файлами при каждом изменении выбора.
    onReject(rejections: FileRejection[]) => void—Вызывается с файлами, не прошедшими валидацию, и причиной отказа.
    acceptstring[][]Допустимые типы файлов в виде расширений или MIME-типов.
    maxFilesnumber—Максимальное число одновременно хранимых файлов.
    maxSizenumber—Максимальный допустимый размер файла в байтах.
    minSizenumber—Минимальный допустимый размер файла в байтах.
    multiplebooleanfalseРазрешает выбирать несколько файлов.
    disabledbooleanfalseОтключает выбор файлов, область перетаскивания и кнопки удаления.

    FileUpload.HiddenInput

    СвойствоТипПо умолчаниюОписание
    classNamestring—Класс нативного поля выбора файла.

    FileUpload.Trigger

    СвойствоТипПо умолчаниюОписание
    childrenReactNode—Содержимое элемента управления, открывающего выбор файла.
    classNamestring—Класс элемента триггера.
    renderReactElement | ((props, state) => ReactElement)—Заменяет отображаемый элемент, сохраняя поведение и связи доступности.

    FileUpload.Dropzone

    СвойствоТипПо умолчаниюОписание
    childrenReactNode—Содержимое области приёма перетаскиваемых файлов.
    classNamestring—Класс области перетаскивания.
    renderReactElement | ((props, state) => ReactElement)—Заменяет отображаемый элемент, сохраняя поведение и связи доступности.

    FileUpload.List

    СвойствоТипПо умолчаниюОписание
    childrenReactNode | ((files: readonly File[]) => ReactNode)—Отображает принятые файлы из текущего списка. Изменения управляемого значения и внешние сбросы отражаются сразу.
    classNamestring—Класс элемента списка.

    FileUpload.Item

    СвойствоТипПо умолчаниюОписание
    childrenReactNode—Содержимое с описанием файла, например его именем и размером.
    classNamestring—Класс элемента пункта.
    index*number—Позиция файла, который представляет этот пункт.
    renderReactElement | ((props, state) => ReactElement)—Заменяет отображаемый элемент, сохраняя поведение и связи доступности.

    FileUpload.ItemRemove

    СвойствоТипПо умолчаниюОписание
    classNamestring—Класс кнопки удаления.
    index*number—Позиция файла, который удаляет эта кнопка.

    FileRejection

    СвойствоТипПо умолчаниюОписание
    file*File—Файл, который не был принят.
    reason*"accept" | "max-size" | "max-files"—Правило, которое нарушил файл.

    Клавиатура

    КлавишаДействие
    Enter / SpaceОткрыть выбор файла через Trigger или удалить файл в фокусе
    TabПеремещаться между триггером выбора и кнопками удаления файлов

    Доступность

    Задайте HiddenInput доступную подпись. List получает принятые файлы и отображает их имена, размеры и кнопки удаления с подписями. Root поддерживает управляемое value, общий лимит maxFiles, валидацию maxSize и accept; onReject сообщает об отклонённых файлах. Отключённый корень блокирует выбор, перетаскивание и удаление. Для работы с файлами нужна гидратация.

    Привязка стилей

    data-uiify-file-uploaddata-partdata-disableddata-state
    Эта страница переведена автоматически и ещё не проверена.