跳至正文

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—文件上传组成部分:隐藏输入框、触发器、拖放区域和列表。
    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
    本页由机器翻译,尚未经人工审核。