WidgetFile
Overview
A file-upload widget that displays an existing file as a labelled download link with remove and download actions, and falls back to a file-uploader input when no file is selected.
Theme entry: WidgetFile
Props
| Name | Type | Required | Default | Description |
|---|---|---|---|---|
| iconOverride | Object | null | A partial icon registry ({ [componentName]: { [iconName]: { component, props } } }) merged with inherited and default icon entries; scopes icon overrides to this component and its descendants. | |
| name | String | undefined | The widget name; falls back to the field context value when omitted. | |
| label | String | undefined | The label displayed next to the widget; falls back to the field context value when omitted. | |
| help | String | undefined | Help text displayed alongside the widget; falls back to the field context value when omitted. | |
| readOnly | Boolean | false | Whether the widget is read-only; falls back to the field context value when omitted. | |
| required | Boolean | undefined, // let the default from field context take over | Whether the widget is required; falls back to the field context value when undefined. | |
| modelValue | String|Number|Boolean|Array|Object | undefined | The widget's bound value (v-model); used only in contextless mode. | |
| fieldToWidget | Object|Function | null | Adapter that converts the form model value into a value suitable for the widget UI. | |
| widgetToField | Object|Function | null | Adapter that converts the widget UI value back into a form model value for validation and submission. | |
| invalid | Boolean | undefined | Manually set the invalid state when not in a field context. | |
| warning | Boolean | undefined | Manually set the warning state when not in a field context. | |
| disabled | Boolean | false | Whether the widget is disabled. | |
| disabledFn | Function | null | A function that returns whether the widget should be disabled; takes precedence over the disabled prop. | |
| contextless | Boolean | false | When true, the widget ignores any surrounding field or form context and manages its own state. | |
| displayDependencies | Array | () => [] | Field paths whose values the widget needs for display logic; registered with the field context. | |
| themeOverride | String|Object|Array | null | A partial theme object merged with the component's default theme; accepts a class string, class array, or theme object. | |
| accept | string | "*" | MIME type filter passed to the file input (e.g. "image/*" or ".pdf"). | |
| maxFileSize | number | 1000000 | Maximum allowed file size in bytes. |
Slots
| Name | Scoped | Description |
|---|---|---|
file-uploader | yes | Replaces the default FileUpload component; receives disabled, invalid, aria-labelledby, and an update:modelValue event handler. |
Events
| Name | Description |
|---|---|
update:modelValue | Emitted when the widget value changes. |
Source
client/lib/widgets/WidgetFile.vue