FileUpload

展示文件列表、状态和移除操作。

实时预览

正在加载预览…

参数配置

全部字段 20

FileUploadOptions

UploadRules
列表项 · 0
mygo.OpenDialogOptions
列表项 · 0
Styles · 0

Go 代码

Go
// Inside a view; c is *ui.Context, t is nui.Theme.
// Keep s (example state) outside the view. See the complete example.
nui.FileUpload(c.Key("files"), t, &s.Files, nui.FileUploadOptions{Label: "Project files", Description: "Sample files; no network upload", Disabled: false, Interactive: nui.Set(false), FileDelete: nui.Optional[bool]{}, Color: nui.ColorDefault, Size: nui.SizeDefault})

使用说明

这里展示预置文件及删除操作,重置可以恢复列表。浏览器后端暂不提供原生文件选择框,因此示例显式关闭 Interactive;桌面程序可结合选择、任务进度和自己的上传逻辑使用。

参数与平台说明

浏览器不支持 MyGo 原生文件选择框。本示例提供预置文件与移除操作,不发起上传;文件选择与上传需由应用接入。

API 参考

FileUpload

源码
func FileUpload(c *ui.Context, t Theme, s *FileUploadState, o FileUploadOptions) ui.Element

FileUploadOptions

源码
type FileUploadOptions struct {
	Label, Description, ChooseLabel            string
	Disabled                                   bool
	Dropzone, Interactive, FileDelete, Preview Optional[bool]
	Variant                                    UploadVariant
	Layout                                     UploadLayout
	Color                                      Color
	Size                                       Size
	Rules                                      UploadRules
	Dialog                                     mygo.OpenDialogOptions
	// Choose overrides the native dialog. It executes on a worker and must not mutate UI state.
	Choose             func(context.Context) ([]UploadFile, error)
	OnChange           func([]UploadFile)
	OnCancel, OnRemove func(string)
	Decoration
}
字段类型说明
Labelstring

Go 零值: ""

控件标签或可访问名称。

Descriptionstring

Go 零值: ""

补充说明文字。

ChooseLabelstring

Go 零值: ""

文件选择操作的文字。

Disabledbool

Go 零值: false

禁用组件及其交互。

DropzoneOptional[bool]

Go 零值: unset

显示文件拖放区域。

InteractiveOptional[bool]

Go 零值: unset

允许文件选择交互。

FileDeleteOptional[bool]

Go 零值: unset

显示文件移除操作。

PreviewOptional[bool]

Go 零值: unset

显示文件预览信息。

VariantUploadVariant

Go 零值: zero value

组件外观样式,支持范围取决于组件。

LayoutUploadLayout

Go 零值: zero value

文件列表的布局方式。

ColorColor

Go 零值: ColorDefault

语义颜色;默认值继承主题或组件配色。

SizeSize

Go 零值: SizeDefault

组件尺寸;默认值继承主题或组件尺寸。

RulesUploadRules

Go 零值: zero value

文件数量、类型和大小检查规则。

Dialogmygo.OpenDialogOptions

Go 零值: zero value

原生文件选择框的配置。

Choosefunc(context.Context) ([]UploadFile, error)

Go 零值: nil

后台执行的文件选择函数;不要直接修改 UI 状态。

OnChangefunc([]UploadFile)

Go 零值: nil

值发生变化时通知应用的回调。

OnCancelfunc(string)

Go 零值: nil

取消任务时通知应用的回调。

OnRemovefunc(string)

Go 零值: nil

移除项目时通知应用的回调。

UIStyles

Go 零值: zero value

以部件名称为键覆盖外观和间距。

Stylefunc(Slot, ui.Element)

Go 零值: nil

同步配置当前构建的部件;不要保留 Element。