设计
设计指南
设计原则
样式指南
设计资源
Klein - Figma
Klein Font
官方图标库
开发
开发文档
React
Vue Web
敬请期待
开发资源
GitHub 代码仓库
生态产品
生态产品
Orion Fonts
敬请期待
Orio Market
敬请期待
Klein Pro
敬请期待
Klein Editor
敬请期待

上传 Upload

文件选择和拖拽上传、用于文件上传。

基础示例

用户点击按钮弹出文件选择框。

设置头像

上传用户头像。

禁用上传

禁用上传按钮。

拖拽

支持文件拖拽上传。

受控支持预览的文件列表

受控模式需要外部更新组件的属性fileList。

受控支持替换的文件列表

受控模式需要外部更新组件的属性fileList。

最大上传数量

通过 maxCount 限制上传数量当为 1 时,始终用最新上传的代替当前。

预设图片

属于业务范畴,内部无状态,纯木偶组件。

拖拽排序

可以使用react-dnd实现图片的拖拽排序。

图片上传最大数量控制

图片上传至限制值时上按钮消失。

Upload Props

参数说明类型默认值
name发到后台的文件参数名string-
headers请求头设置Record<string, string>-
preview是否支持图片预览,该属性开启后单个图片的替换将失效booleanfalse
disabled禁用上传boolean-
showUploadList是否展示文件列表booleantrue
className自定义类名string-
fileList上传文件UploadFile<any>[]-
defaultFileList默认文件列表UploadFile<any>[]-
listType上传文件类型"text"text
accept接受上传的文件类型, 详见 input accept Attributestring-
action上传的地址string-
tips提示信息ReactNode-
onRemove移除文件((file: UploadFile<any>) => boolean-
onChange上传文件改变时的状态((res: ChangeRes<UploadFile<any>>) => void)-
customOnClick完全自定义点击事件,如果传入该属性,则点击upload不会出现系统文件上传弹窗((e: MouseEvent<Element, MouseEvent>, file?: UploadFile<any>) => void)-
isOnGrayBg是否在灰色背景中使用boolean-
beforeUpload文件上传前的操作((file: RcFile, FileList: RcFile[]) => boolean() => true
maxCount文件最大上传数量number-
itemRender自定义上传项((originNode: ReactElement<any, string-
fileItemComponent通过传入组件的方式自定义上传项FC<ImageItemProps>-
onPreview点击预览图标时的回调((file: UploadFile<any>) => void)-
data上传所需额外参数或返回上传额外参数的方法object-
text上传按钮文本ReactNode-
deletable是否隐藏删除按钮booleantrue
fit上传后图片显示方式"fill"cover

Dragger Props

参数说明类型默认值
name发到后台的文件参数名string-
headers请求头设置Record<string, string>-
preview是否支持图片预览,该属性开启后单个图片的替换将失效boolean-
disabled禁用上传boolean-
showUploadList是否展示文件列表boolean-
className自定义类名string-
fileList上传文件UploadFile<any>[]-
defaultFileList默认文件列表UploadFile<any>[]-
listType上传文件类型"text"-
accept接受上传的文件类型, 详见 input accept Attributestring-
action上传的地址string-
tips提示信息ReactNode-
onRemove移除文件((file: UploadFile<any>) => boolean-
onChange上传文件改变时的状态((res: ChangeRes<UploadFile<any>>) => void)-
isOnGrayBg是否在灰色背景中使用boolean-
beforeUpload文件上传前的操作((file: RcFile, FileList: RcFile[]) => boolean-
maxCount文件最大上传数量number-
itemRender自定义上传项((originNode: ReactElement<any, string-
fileItemComponent通过传入组件的方式自定义上传项FC<ImageItemProps>-
onPreview点击预览图标时的回调(file: UploadFile<any>) => void-

Preset Props

参数说明类型默认值
onReset重置回调(() => void)-
actionTips自定义下载文字ReactNode-
showReset是否展示重置按钮booleantrue
fileUrl预设图片路径string-
name发到后台的文件参数名string-
headers请求头设置Record<string, string>-
preview是否支持图片预览,该属性开启后单个图片的替换将失效boolean-
disabled禁用上传boolean-
showUploadList是否展示文件列表boolean-
className自定义类名string-
fileList上传文件UploadFile<any>[]-
defaultFileList默认文件列表UploadFile<any>[]-
listType上传文件类型"text"-
accept接受上传的文件类型, 详见 input accept Attributestring-
action上传的地址string-
tips提示信息ReactNode-
onRemove移除文件((file: UploadFile<any>) => boolean-
onChange上传文件改变时的状态((res: ChangeRes<UploadFile<any>>) => void)-
isOnGrayBg是否在灰色背景中使用boolean-
beforeUpload文件上传前的操作((file: RcFile, FileList: RcFile[]) => boolean-
maxCount文件最大上传数量number-
itemRender自定义上传项((originNode: ReactElement<any, string-
fileItemComponent通过传入组件的方式自定义上传项FC<ImageItemProps>-
onPreview点击预览图标时的回调(file: UploadFile<any>) => void-

FileList Props

参数说明类型默认值
name发到后台的文件参数名string-
headers请求头设置Record<string, string>-
preview是否支持图片预览,该属性开启后单个图片的替换将失效boolean-
disabled禁用上传boolean-
showUploadList是否展示文件列表boolean-
className自定义类名string-
fileList上传文件UploadFile<any>[]-
defaultFileList默认文件列表UploadFile<any>[]-
listType上传文件类型"text"-
accept接受上传的文件类型, 详见 input accept Attributestring-
action上传的地址string-
tips提示信息ReactNode-
onRemove移除文件((file: UploadFile<any>) => boolean-
onChange上传文件改变时的状态((res: ChangeRes<UploadFile<any>>) => void)-
isOnGrayBg是否在灰色背景中使用boolean-
beforeUpload文件上传前的操作((file: RcFile, FileList: RcFile[]) => boolean-
maxCount文件最大上传数量number-
itemRender自定义上传项((originNode: ReactElement<any, string-
fileItemComponent通过传入组件的方式自定义上传项FC<ImageItemProps>-
onPreview点击预览图标时的回调((file: UploadFile<any>) => void)-

贡献者