Upload
Upload one or more files
Class props
Upload component
Upload one or more files
html
<o-upload></o-upload>Props
| Prop name | Description | Type | Values | Default |
|---|---|---|---|---|
| accept | Same as native accept | string | - | |
| customValidity | Custom HTML 5 validation error to set on the form control | string | ((currentValue: object | ObjectConstructor | { new (fileBits: BlobPart[], fileName: string, options?: FilePropertyBag): File; prototype: File; } | (object | ... 1 more ... | { ...; })[] | null | undefined, state: ValidityState) => string) | undefined | - | "" |
| disabled | Same as native disabled | boolean | - | false |
| dragDrop | Accepts drag & drop and change its style | boolean | - | false |
| expanded | Upload will be expanded (full-width) | boolean | - | false |
| v-model | The input value state | object | File | - | |
| multiple | Same as native, also push new item to v-model instead of replacing | boolean | - | |
| native | Replace last chosen files every time (like native file input element) | boolean | - | true |
| override | Override existing theme classes completely | boolean | - | |
| useHtml5Validation | Enable HTML 5 native validation | boolean | - | From config: { |
| variant | Color of the control | string | primary, info, success, warning, danger, and any other custom color | From config: upload: { |
Events
| Event name | Properties | Description |
|---|---|---|
| update:modelValue | value object | object[] | File | File[] - updated modelValue prop | modelValue prop two-way binding |
| focus | event Event - native event | on input focus event |
| blur | event Event - native event | on input blur event |
| invalid | event Event - native event | on input invalid event |
Slots
| Name | Description | Bindings |
|---|---|---|
| default | Default content | onclick (event:Event): void - click handler, only needed if a button is used |
Sass variables
Current theme ➜ Oruga
| SASS Variable | Default |
|---|---|
| $upload-draggable-border | 1px dashed var(--#{$prefix}grey-light) |
| $upload-draggable-border-radius | var(--#{$prefix}base-border-radius) |
| $upload-draggable-disabled-opacity | var( --#{$prefix}base-disabled-opacity) |
| $upload-draggable-hover-border-color | var(--#{$prefix}grey) |
| $upload-draggable-padding | 0.25em |
See ➜ 📄 Full scss file
Current theme ➜ Bulma
| SASS Variable | Default |
|---|---|
| $upload-colors | file.$file-colors |
| $upload-bg | transparent |
| $upload-draggable-padding | 0.5rem |
| $upload-border-color | css.getVar("grey-light") |
See ➜ 📄 Full scss file
Current theme ➜ Bootstrap
| SASS Variable | Default |
|---|---|
| $upload-draggable-bg | transparent |
| $upload-draggable-bg-hover | transparent |
| $upload-draggable-border-color | var(--#{$prefix}border-color) |
| $upload-draggable-border-color-hover | var(--#{$prefix}dark-bg-subtle) |
| $upload-draggable-border-width | var(--#{$prefix}border-width) |
| $upload-draggable-border-radius | var(--#{$prefix}border-radius) |
| $upload-draggable-padding | 2em |
| $upload-disabled-opacity | 0.5 |
See ➜ 📄 Full scss file
