UNPKG

@ray-js/smart-ui-typings

Version:

@ray-js/smart-ui 智能小程序 UI 框架的类型声明文件

158 lines (157 loc) 4.12 kB
import { VantComponent, VantEventHandler } from '../base'; type VantUploaderPreviewSize = string | number; export interface VantUploaderProps { /** * 标识符,可以在回调函数的第二项参数中获取 */ name?: string | number; /** * 接受的文件类型 * * @default 'image' */ accept?: 'all' | 'media' | 'image' | 'file' | 'video'; /** * 所选的图片的尺寸, 当`accept`为`image`类型时设置所选图片的尺寸 * * @default ['original','compressed'] */ sizeType?: ('original' | 'compressed')[]; /** * 预览图和上传区域的尺寸,默认单位为`px` * * @default '80px' * * 数组模式 * * @since `v1.10.3` */ 'preview-size'?: VantUploaderPreviewSize | [VantUploaderPreviewSize, VantUploaderPreviewSize]; /** * 是否在上传完成后展示预览图 * * @default true */ 'preview-image'?: boolean; /** * 是否在点击预览图后展示全屏图片预览 * * @default true */ 'preview-full-image'?: boolean; /** * 是否开启图片多选,部分安卓机型不支持 * * @default false */ multiple?: boolean; /** * 是否禁用文件上传 * * @default false */ disabled?: boolean; /** * 是否展示文件上传按钮 * * @default true */ 'show-upload'?: boolean; /** * 是否展示删除按钮 * * @default true */ deletable?: boolean; /** * 图片或者视频选取模式,当`accept`为`image`类型时设置`capture`可选值为`camera`可以直接调起摄像头 * * @default ['album','camera'] */ capture?: ('album' | 'camera') | ('album' | 'camera')[]; /** * 文件大小限制,单位为`byte` */ 'max-size'?: number; /** * 文件上传数量限制 */ 'max-count'?: number; /** * 上传区域文字提示 */ 'upload-text'?: string; /** * 预览图裁剪模式,可选值参考小程序`image`组件的`mode`属性 * * @default 'scaleToFill' */ 'image-fit'?: string; /** * 是否开启文件读取前事件 */ 'use-before-read'?: boolean; /** * 当`accept`为`video`时生效 */ camera?: 'back' | 'front'; /** * 当`accept`为`video`时生效,是否压缩视频 * * @default true */ compressed?: boolean; /** * 当`accept`为 `video` 时生效,拍摄视频最长拍摄时间,单位秒 */ 'max-duration'?: number; /** * 上传区域图标,可选值见 `Icon` 组件 * * @default 'plus' */ 'upload-icon'?: string; } export interface VantUploaderFile { size: number; type: string; url: string; thumb: string; duration?: number; height?: number; width?: number; } export interface VantUploaderIndexDetail { index: number; } export interface VantUploaderBaseReadEventDetail extends VantUploaderIndexDetail { file: VantUploaderFile; name: string; } export interface VantUploaderBeforeReadEventDetail extends VantUploaderBaseReadEventDetail { callback: (ok: boolean) => void; } export interface VantUploaderEvents { /** * 文件读取前,在回调函数中返回 `false` 可终止文件读取,绑定事件的同时需要将`use-before-read`属性设置为`true` */ 'bind:before-read'?: VantEventHandler<VantUploaderBeforeReadEventDetail>; /** * 文件读取完成后触发 */ 'bind:after-read'?: VantEventHandler<VantUploaderBaseReadEventDetail>; /** * 文件超出大小限制 */ 'bind:oversize'?: VantEventHandler<VantUploaderBaseReadEventDetail>; /** * 点击预览图片 */ 'bind:click-preview'?: VantEventHandler<VantUploaderIndexDetail>; /** * 删除图片 */ 'bind:delete'?: VantEventHandler<VantUploaderIndexDetail>; } export type VantUploader = VantComponent<VantUploaderProps, VantUploaderEvents>; export {};