forked from ant-design/ant-design-mini
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathprops.ts
129 lines (112 loc) · 2.79 KB
/
props.ts
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
import { IBaseProps } from '../_util/base';
export type Status = 'uploading' | 'done' | 'error';
export interface File {
/**
* @description 唯一标识符,不设置时会自动生成
*/
uid?: string;
/**
* @description 图片的资源地址
*/
url: string;
/**
* @description 上传状态
*/
status?: Status;
}
export interface LocalFile {
path: string;
size?: number;
}
export interface IUploaderProps extends IBaseProps {
/**
* @description 默认已经上传的文件列表
* @default []
*/
defaultFileList: File[];
/**
* @description 已经上传的文件列表(受控)
*/
fileList: File[];
/**
* @description 上传图片的最大数量
*/
maxCount: number;
/**
* @description 图片缩放模式和裁剪模式
* @default 'scaleToFill'
*/
imageMode:
| 'scaleToFill'
| 'aspectFit'
| 'aspectFill'
| 'widthFix'
| 'heightFix'
| 'top'
| 'bottom'
| 'center'
| 'left'
| 'right'
| 'top left'
| 'top right'
| 'bottom left'
| 'bottom right';
/**
* @description 视频选择的来源
* @default ['album', 'camera']
*/
sourceType: ['album'] | ['camera'] | ['camera', 'album'];
/**
* @description 图片上传前的回调函数,返回 false 可终止图片上传,支持返回 Promise
*/
onBeforeUpload?: (
localFileList: LocalFile[]
) => boolean | Promise<LocalFile[]>;
/**
* @description 选择图片失败回调
*/
onChooseImageError?: (err: any) => void;
/**
* @description 已上传的文件列表变化时触发
*/
onChange?: (v: Array<File>) => void;
/**
* @description 删除当前列表中的图片时触发,包括上传成功和上传失败的图片,如果返回 false 表示阻止删除,支持返回 Promise
*/
onRemove?: (v: File) => boolean | Promise<boolean>;
/**
* @description 点击图片进行预览时触发,会覆盖默认的预览功能
*/
onPreview?: (v: Array<File>) => void;
/**
* @description 自定义上传方式,只在不存在action字段时生效
*/
onUpload?: (localFile: LocalFile) => Promise<string>;
/**
* @description 上传中文案
* @default "上传中……"
*/
uploadingText?: string;
/**
* @description 上传失败文案
* @default "上传失败"
*/
uploadfailedText?: string;
}
export const UploaderDefaultProps: Partial<IUploaderProps> = {
defaultFileList: [],
imageMode: 'scaleToFill',
sourceType: ['camera', 'album'],
};
export const UploaderFunctionalProps: Partial<IUploaderProps> = {
defaultFileList: [],
fileList: null,
maxCount: null,
imageMode: 'scaleToFill',
sourceType: ['camera', 'album'],
onUpload: null,
onBeforeUpload: null,
onRemove: null,
uploadingText: '上传中',
uploadfailedText: '上传失败'
};