Files
mini-yu/uni_modules/tdesign-uniapp/components/upload/README.en-US.md
lingxiao865 c5af079d8c first commit
2026-02-10 08:05:03 +08:00

5.1 KiB
Raw Blame History

:: BASE_DOC ::

API

Upload Props

name type default description required
custom-style Object - CSS(Cascading Style Sheets) N
add-btn Boolean true - N
add-content String - - N
allow-upload-duplicate-file Boolean false allow to upload duplicate name files N
config Object - TypescriptUploadMpConfig type UploadMpConfig = ImageConfig | VideoConfig interface ImageConfig { count?: number; sizeType?: Array<SizeTypeValues>; sourceType?: Array<SourceTypeValues> } type SizeTypeValues = 'original' | 'compressed' type SourceTypeValues = 'album' | 'camera' interface VideoConfig { sourceType?: Array<SourceTypeValues>; compressed?: boolean; maxDuration?: number; camera?: 'back' | 'front' }see more ts definition N
disabled Boolean undefined make upload to be disabled N
draggable Boolean / Object - Typescriptboolean | {vibrate?: boolean; collisionVibrate?: boolean} N
files Array - v-model:files is supported。TypescriptArray<UploadFile> interface UploadFile { url: string; name?: string; size?: number; type?: 'image' | 'video'; percent?: number; status: 'loading' | 'reload' | 'failed' | 'done' }see more ts definition N
default-files Array - uncontrolled property。TypescriptArray<UploadFile> interface UploadFile { url: string; name?: string; size?: number; type?: 'image' | 'video'; percent?: number; status: 'loading' | 'reload' | 'failed' | 'done' }see more ts definition N
grid-config Object - Typescript{column?: number; width?: number; height?: number;} N
gutter Number 16 - N
image-props Object - TypescriptImagePropsImage API Documentssee more ts definition N
max Number 0 max count of files limit N
media-type Array ['image', 'video'] TypescriptArray<MediaType> type MediaType = 'image' | 'video'see more ts definition N
preview Boolean true - N
remove-btn Boolean true - N
request-method Function - Typescriptany N
size-limit Number / Object - files size limit。Typescriptnumber | SizeLimitObj interface SizeLimitObj { size: number; unit: SizeUnit ; message?: string } type SizeUnitArray = ['B', 'KB', 'MB', 'GB'] type SizeUnit = SizeUnitArray[number]see more ts definition N
source String media options: media/messageFile N
transition Object {backTransition: true, duration: 300, timingFunction: 'ease'} TypescriptTransition interface Transition { backTransition?: boolean, duration?: number, timingFunction?: string }see more ts definition N

Upload Events

name params description
add (context: { files: MediaContext }) -
click (context: { index: number; file: VideoContext | ImageContext }) -
complete - -
drop (context: { files: MediaContext }) -
fail - -
remove (context: { index: number; file: UploadFile }) -
select-change (context: { files: MediaContext[]; currentSelectedFiles: MediaContext[] }) -
success (context: { files: MediaContext }) see more ts definition
type MediaContext = VideoContext[] | ImageContext[]

interface VideoContext { name?: string; type?: string; url?: string; duration?: number; size?: number; width?: number; height?: number; thumb: string; progress: number }

interface ImageContext { name: string; type: string; url: string; size: number; width: number; height: number; progress: number }

Upload Slots

name Description
add-content -

CSS Variables

The component provides the following CSS variables, which can be used to customize styles.

Name Default Value Description
--td-upload-add-bg-color @bg-color-secondarycontainer -
--td-upload-add-color @text-color-placeholder -
--td-upload-add-disabled-bg-color @bg-color-component-disabled -
--td-upload-add-icon-disabled-color @text-color-disabled -
--td-upload-add-icon-size 56rpx -
--td-upload-disabled-mask rgba(0, 0.6) -
--td-upload-drag-transition-duration --td-upload-drag-transition-duration -
--td-upload-drag-transition-timing-function --td-upload-drag-transition-timing-function -
--td-upload-drag-z-index 999 -
--td-upload-radius @radius-default -