跳到主要内容

上传 Uploader

用于将本地图片上传到服务器,可以展示上传进度、结果预览。

安装使用

import { TiUploader } from '@titian-design/mobile-vue'

用法示例

基础用法
选择完文件后,立即执行上传操作。
codesanbox
copy
code
自定义参数
自定义header
codesanbox
copy
code
自定义上传
仅使用组件样式
codesanbox
copy
code
网格布局
控制每行显示的数量
codesanbox
copy
code
手动上传
上传
通过设置 `immediately` 为 `false`,并调用 `submit` 方法,可以手动控制上传时机。
codesanbox
copy
code

TiUploader API

属性 Properties

名称类型是否必填默认值说明备注
valueunknown-使用 value,组件为受控模式-
default-valueUploadFileParams[][]使用 defaultValue ,组件为非受控模式
disabledbooleanfalse禁用交互能力
immediatelybooleantrue是否立刻上传-
immediately-choosebooleantrue点击后立即选择-
sizesmall | largesmall组件尺寸-
colsnumber-多列布局,可代替size-
choose-textstring选择器文案-
choose-iconstringplus选择器 icon-
source-typearray['album', 'camera']选择图片的来源-
cameraback | frontback仅在 sourceType 为 camera 时生效,使用前置或后置摄像头-
countnumber9选择文件/图片/视频的数量-
urlstring-上传地址-
previewFunction自定义预览组件。默认使用内置的预览工具-
chooseFunction选择函数-
before-chooseFunction选择前的处理函数-
after-chooseFunction选择后的处理函数
before-uploadFunction- 上传前置方法 可用用于处理上传参数-
uploadFunction自定义上传方法,不传则使用内置的上传方法-
completeFunction上传完成/删除完成后调用-
after-uploadFunction上传后置方法,后置处理返回结果-
upload-exercise'' | loading | progressloading上传中展示风格-
image-paramsRecord<string, any>{}上传图片参数;当不传自定义 beforeUpload 方法时,可以传该参数作为内部 beforeUpload 的参数-
video-paramsRecord<string, any>{}上传视频参数;当不传自定义 beforeUpload 方法时,可以传该参数作为内部 beforeUpload 的参数-
file-paramsRecord<string, any>{}上传文件参数;当不传自定义 beforeUpload 方法时,可以传该参数作为内部 beforeUpload 的参数-
image-result-format(string | number)[][]图片参数;当不传自定义 afterUpload 方法时,可以传该参数作为内部 afterUpload 的参数-
video-result-format(string | number)[][]视频参数;当不传自定义 afterUpload 方法时,可以传该参数作为内部 afterUpload 的参数-
file-result-format(string | number)[][]文件参数;当不传自定义 afterUpload 方法时,可以传该参数作为内部 afterUpload 的参数-
acceptstring/http 的 accept 参数,指定文件类型-
ext-stylestring''容器样式-

事件 Events

名称参数列表描述备注
change(e: CustomEvent<{ file: UploadFile; fileList: UploadFile[]; uploading: boolean }>) => void上传处理
error(e: CustomEvent<{ status: string; message: string; }>) => void错误事件
choose(e: CustomEvent<any>) => void选择事件

外部样式类 External Classes

名称说明备注
ext-class根节点可扩展的类名-
ext-thum-box-class缩略图容器类名--
ext-thum-tip-class缩略图容器提示类名--
ext-thum-class缩略图类名--
ext-thum-image-class缩略图-图片类名--
ext-thum-video-class缩略图-视频类名--
ext-thum-other-class缩略图-其他类名--
ext-action-class选择器-类名--

CSS 变量 CSS Variable

变量默认值说明备注
--uploader-action-bg-colortheme.color.gray.background.40上传区背景色-
--uploader-action-text-colortheme.color.gray.texticon.250上传区文字颜色-
--uploader-icon-colortheme.color.gray.texticon.400上传区 icon 颜色-
--uploader-disabled-colortheme.color.gray.border.100上传区禁用 icon、(失败)文字颜色-
--uploader-fail-colortheme.color.gray.texticon.invert上传文件失败文字颜色-
--uploader-fail-bg-colortheme.color.gray.mask.800上传文件失败背景颜色-
--uploader-loading-colortheme.color.gray.texticon.invert上传文件 loading 颜色-
--uploader-loading-bg-colortheme.color.gray.texticon.900上传文件 loading 背景颜色-
--uploader-margin24rpx容器外边距-
--uploader-size120rpx容器大小(size="small")-
216rpx容器大小(size="large")-
--uploader-radiustheme.borderRadius.r2容器圆角(size="small")-
theme.borderRadius.r3容器圆角(size="large")-
--uploader-action-font-sizetheme.fontSize.t2上传按钮,文字字号(size="small")-
theme.fontSize.t4上传按钮,文字字号(size="large")-
--uploader-action-line-heighttheme.lineHeight.single.t2上传按钮,文字行高(size="small")-
theme.lineHeight.single.t4上传按钮,文字行高(size="large")-
--uploader-action-font-weighttheme.fontWeight.regular上传按钮,文字字重-
--uploader-icon-font-sizetheme.fontSize.t8上传按钮,图标尺寸(size="small")-
theme.fontSize.t12上传按钮,图标尺寸(size="large")-

数据结构 Data Structure

文件 UploadFile

interface UploadFile extends UploadFileExternal {
key: string;
}

interface UploadFileExternal {
path: string;
poster?: string;
size: number;
name: string;
duration?: number;
fileType: UploadType;
status: UploadStatus;
}