FileUpload
Один файл
Перетащите файлы сюда или нажмите для выбора
Файлов: 0
Несколько файлов
Перетащите изображения
Файлов: 0
Состояния
Загрузка отключена
Область с ошибкой
Входные параметры
| Имя | Тип | По умолчанию | Описание |
|---|---|---|---|
multiple | boolean | false | Разрешить выбор нескольких файлов. |
accept | string | undefined | Допустимые MIME-типы или расширения файлов. |
hint | string | 'Перетащите файлы сюда или нажмите для выбора' | Подсказка в области загрузки. |
size | 'sm' | 'md' | 'lg' | undefined | Размер зоны загрузки: отступы дропзоны и размер шрифта. Если не задан, берётся из C3FormField. |
disabled | boolean | false | Отключает загрузку. |
error | boolean | false | Признак ошибки. |
name | string | undefined | Имя поля для форм. |
v-model привязывает список выбранных файлов через defineModel<File[]>({ default: () => [] }).
Описание
Компонент C3FileUpload — область загрузки файлов с перетаскиванием и скрытым нативным input. Файлы можно выбрать диалогом (клик или Enter/пробел) либо перетащить в область. Выбранные файлы отображаются списком с размером и кнопкой удаления.
Используйте multiple для нескольких файлов и accept для ограничения типов. При multiple новые файлы добавляются к уже выбранным.
Дополнительная информация
- Слоты отсутствуют — контент формируется нативным списком файлов.
- Область перетаскивания имеет роль
buttonиtabindex="0", доступна по клавиатуре (Enter, пробел). - Размер файла форматируется в Б/КБ/МБ.
- Компонент интегрируется с
C3FormField: берёт ошибку из контекста и регистрирует геттер значения для валидации. - События: явные
emitне объявляются, изменение идёт черезv-model.