@uview-plus/types
Version:
types for uview-plus
164 lines (157 loc) • 3.75 kB
TypeScript
import { AllowedComponentProps, VNodeProps } from './_common'
import { ImageMode } from './image';
declare interface UploadProps {
/**
* 接受的文件类型,file只支持H5(只有微信小程序才支持把accept配置为all、media)
* @default "image"
*/
accept?: 'all' | 'media' | 'image' | 'file' | 'video'
/**
* 图片或视频拾取模式,当accept为image类型时设置capture可选额外camera可以直接调起摄像头
* @default ["album", "camera"]
*/
capture?: 'album' | 'camera' | ('album' | 'camera')[]
/**
* 当accept为video时生效,是否压缩视频,默认为true
* @default true
*/
compressed?: boolean
/**
* 当accept为video时生效,可选值为back或front
* @default "back"
*/
camera?: 'back' | 'front'
/**
* 当accept为video时生效,拍摄视频最长拍摄时间,单位秒
* @default 60
*/
maxDuration?: number
/**
* 上传区域的图标,只能内置图标
* @default "camera-fill"
*/
uploadIcon?: string
/**
* 上传区域的图标的颜色
* @default "#D3D4D6"
*/
uploadIconColor?: string
/**
* 是否启用(显示/隐藏)组件
*/
useBeforeRead?: boolean
/**
* 预览全图
* @default true
*/
previewFullImage?: boolean
/**
* 最大选择图片的数量
* @default 52
*/
maxCount?: string | number
/**
* 是否启用(显示/隐藏)组件
* @default false
*/
disabled?: boolean
/**
* 预览上传的图片时的裁剪模式
* @default "aspectFill"
*/
imageMode?: ImageMode
/**
* 标识符,可以在回调函数的第二项参数中获取
* @default "file"
*/
name?: string
/**
* original 原图,compressed 压缩图,默认二者都有,H5无效
* @default ["original", "compressed"]
*/
sizeType?: ('original' | 'compressed')[]
/**
* 是否开启图片多选,部分安卓机型不支持
* @default false
*/
multiple?: boolean
/**
* 是否显示删除图片的按钮
* @default true
*/
deletable?: boolean
/**
* 选择单个文件的最大大小,单位B(byte),默认不限制
* @default Number.MAX_VALUE
*/
maxSize?: string | number
/**
* 显示已上传的文件列表
*/
fileList?: any[]
/**
* 上传区域的提示文字
*/
uploadText?: string
/**
* 内部预览图片区域和选择图片按钮的区域宽度,单位rpx,不能是百分比,或者`auto`
* @default 80
*/
width?: string | number
/**
* 内部预览图片区域和选择图片按钮的区域高度,单位rpx,不能是百分比,或者`auto`
* @default 80
*/
height?: string | number
/**
* 是否在上传完成后展示预览图
* @default true
*/
previewImage?: boolean
/**
* 读取后的处理函数
*/
onAfterRead?: (file, lists, name) => any
/**
* 读取前的处理函数
*/
onBeforeRead?: (file, lists, name) => any
/**
* 图片大小超出最大允许大小
*/
onOversize?: (file, lists, name) => any
/**
* 全屏预览图片时触发
*/
onClickPreview?: (file, lists, name) => any
/**
* 删除图片
*/
onDelete?: (index, file, name) => any
}
declare interface UploadSlots {
/**
* 自定义上传样式
*/
['default']?: () => any
}
declare interface _UploadRef {
/**
* 读取后的处理函数
*/
afterRead: (file, lists, name) => any
/**
* 读取前的处理函数
*/
beforeRead: (file, lists, name) => any
}
declare interface _Upload {
new (): {
$props: AllowedComponentProps &
VNodeProps &
UploadProps
$slots: UploadSlots
}
}
export declare const Upload: _Upload
export declare const UploadRef: _UploadRef