@ttkj/avue 2.11.1 → 2.11.3
Sign up to get free protection for your applications and to get access to all the features.
- package/lib/avue.js +29 -29
- package/lib/avue.min.js +4 -4
- package/lib/index.css +1 -1
- package/package.json +1 -1
- package/types/avue.d.ts +4 -1
- package/types/crud/column.d.ts +23 -18
- package/types/crud/option.d.ts +4 -0
- package/types/form/column.d.ts +181 -15
- package/types/form/index.d.ts +2 -1
- package/types/form/option.d.ts +3 -2
- package/types/global.d.ts +0 -44
- package/types/variable.d.ts +78 -0
package/types/form/column.d.ts
CHANGED
@@ -1,5 +1,7 @@
|
|
1
|
+
import { ResponsiveColumn } from 'element-ui/types/col';
|
1
2
|
import { PopoverPlacement } from 'element-ui/types/popover';
|
2
|
-
import { AvueComponentSize, Obj
|
3
|
+
import { AvueComponentSize, Obj } from '../global';
|
4
|
+
import { DicProps as BaseDicProps, DicHttpProps } from '../variable';
|
3
5
|
import { DynamicFormColumn } from './components/dynamic';
|
4
6
|
|
5
7
|
/** 表单项字典Props配置 */
|
@@ -64,18 +66,14 @@ export type ColumnMock =
|
|
64
66
|
type: 'dic';
|
65
67
|
};
|
66
68
|
|
67
|
-
/**
|
68
|
-
|
69
|
-
*/
|
70
|
-
export interface FormColumnEventParams<T = Obj, U = Obj> {
|
69
|
+
/** 表单事件通用参数 */
|
70
|
+
export interface FormColumnEventBaseParams<T = Obj, U = Obj> {
|
71
71
|
/** 表单项值 */
|
72
72
|
value: any;
|
73
|
-
/** 鼠标点击事件$event */
|
74
|
-
event: MouseEvent;
|
75
73
|
/** 表单项列配置 */
|
76
|
-
column: AvueFormColumn
|
74
|
+
column: AvueFormColumn<T>;
|
77
75
|
/** 表单项列配置索引 */
|
78
|
-
columnIndex: Record<string, AvueFormColumn
|
76
|
+
columnIndex: Record<string, AvueFormColumn<T>>;
|
79
77
|
/** 表单值 */
|
80
78
|
row: T;
|
81
79
|
/** dic */
|
@@ -90,12 +88,75 @@ export interface FormColumnEventParams<T = Obj, U = Obj> {
|
|
90
88
|
index?: number;
|
91
89
|
}
|
92
90
|
|
91
|
+
/**
|
92
|
+
* 表单项事件参数,适用于click|blur|focus
|
93
|
+
*/
|
94
|
+
export interface FormColumnEventParams<T = Obj, U = Obj> extends FormColumnEventBaseParams<T, U> {
|
95
|
+
/** 鼠标点击事件$event */
|
96
|
+
event: MouseEvent;
|
97
|
+
}
|
98
|
+
|
99
|
+
/** 表单项校验规则 */
|
100
|
+
export interface ColumnRule {
|
101
|
+
/** 值的类型 */
|
102
|
+
type?: string;
|
103
|
+
/** 是否必填 */
|
104
|
+
required?: boolean;
|
105
|
+
/** 错误文字说明 */
|
106
|
+
message?: string;
|
107
|
+
/** 正则校验规则 */
|
108
|
+
pattern?: string | RegExp;
|
109
|
+
/** 长度校验 */
|
110
|
+
len?: number;
|
111
|
+
/** 最小值 */
|
112
|
+
min?: number;
|
113
|
+
/** 最大值 */
|
114
|
+
max?: number;
|
115
|
+
/** 自定义校验 */
|
116
|
+
validator?: (rule: ColumnRule, value: any, callback: (error?: unknown) => void, tableData: FormColumnEventBaseParams) => void;
|
117
|
+
/**
|
118
|
+
* 触发规则
|
119
|
+
* @description blur: 失焦时触发,change: 值改变时触发
|
120
|
+
*/
|
121
|
+
trigger?: 'blur' | 'change';
|
122
|
+
}
|
123
|
+
|
93
124
|
/** 表单项基本配置属性 */
|
94
125
|
export interface FormBaseColumn {
|
95
126
|
/** 列类型, 默认: 'input' */
|
96
127
|
type?: string;
|
128
|
+
/**
|
129
|
+
* 新增时列类型, 默认: 'input'
|
130
|
+
* @since 2.11.3
|
131
|
+
*/
|
132
|
+
addType?: string;
|
133
|
+
/**
|
134
|
+
* 编辑时列类型, 默认: 'input'
|
135
|
+
* @since 2.11.3
|
136
|
+
*/
|
137
|
+
editType?: string;
|
138
|
+
/**
|
139
|
+
* 详情时列类型, 默认: 'input'
|
140
|
+
* @since 2.11.3
|
141
|
+
*/
|
142
|
+
viewType?: string;
|
97
143
|
/** 组件 */
|
98
144
|
component?: string;
|
145
|
+
/**
|
146
|
+
* 新增时组件
|
147
|
+
* @since 2.11.3
|
148
|
+
*/
|
149
|
+
addComponent?: string;
|
150
|
+
/**
|
151
|
+
* 编辑时组件
|
152
|
+
* @since 2.11.3
|
153
|
+
*/
|
154
|
+
editComponent?: string;
|
155
|
+
/**
|
156
|
+
* 详情时组件
|
157
|
+
* @since 2.11.3
|
158
|
+
*/
|
159
|
+
viewComponent?: string;
|
99
160
|
/**
|
100
161
|
* 组件类型
|
101
162
|
* @description 自定义属性
|
@@ -137,7 +198,7 @@ export interface FormBaseColumn {
|
|
137
198
|
/** 是否详情模式, 默认: false */
|
138
199
|
detail?: boolean;
|
139
200
|
/** 校验规则 */
|
140
|
-
rules?:
|
201
|
+
rules?: ColumnRule[];
|
141
202
|
/** 控件大小 */
|
142
203
|
size?: AvueComponentSize;
|
143
204
|
/** 是否可见, 默认: true */
|
@@ -187,22 +248,125 @@ export interface FormBaseColumn {
|
|
187
248
|
export interface FormColumnColOption {
|
188
249
|
/** 栅列, 默认: 12 */
|
189
250
|
span: number;
|
251
|
+
/**
|
252
|
+
* 新增时栅列, 默认: 同span
|
253
|
+
* @since 2.11.3
|
254
|
+
*/
|
255
|
+
addSpan?: string;
|
256
|
+
/**
|
257
|
+
* 编辑时栅列, 默认: 同span
|
258
|
+
* @since 2.11.3
|
259
|
+
*/
|
260
|
+
editSpan?: string;
|
261
|
+
/**
|
262
|
+
* 详情时栅列, 默认: 同span
|
263
|
+
* @since 2.11.3
|
264
|
+
*/
|
265
|
+
viewSpan?: string;
|
190
266
|
/**
|
191
267
|
* ≥768px 响应式栅格数或者栅格属性对象, 默认: 12
|
192
268
|
* @since 2.8.12
|
193
269
|
*/
|
194
270
|
smSpan: ResponsiveColumn;
|
271
|
+
/**
|
272
|
+
* 新增时响应式栅格数或者栅格属性对象, 默认: 同span
|
273
|
+
* @since 2.11.3
|
274
|
+
*/
|
275
|
+
addSmSpan?: string;
|
276
|
+
/**
|
277
|
+
* 编辑时响应式栅格数或者栅格属性对象, 默认: 同smSpan
|
278
|
+
* @since 2.11.3
|
279
|
+
*/
|
280
|
+
editSmSpan?: string;
|
281
|
+
/**
|
282
|
+
* 详情时响应式栅格数或者栅格属性对象, 默认: 同smSpan
|
283
|
+
* @since 2.11.3
|
284
|
+
*/
|
285
|
+
viewSmSpan?: string;
|
195
286
|
/**
|
196
287
|
* <768px 响应式栅格数或者栅格属性对象, 默认: 24
|
197
288
|
* @since 2.8.12
|
198
289
|
*/
|
199
290
|
xsSpan: ResponsiveColumn;
|
291
|
+
/**
|
292
|
+
* 新增时响应式栅格数或者栅格属性对象, 默认: 同xsSpan
|
293
|
+
* @since 2.11.3
|
294
|
+
*/
|
295
|
+
addXsSpan?: string;
|
296
|
+
/**
|
297
|
+
* 编辑时响应式栅格数或者栅格属性对象, 默认: 同xsSpan
|
298
|
+
* @since 2.11.3
|
299
|
+
*/
|
300
|
+
editXsSpan?: string;
|
301
|
+
/**
|
302
|
+
* 详情时响应式栅格数或者栅格属性对象, 默认: 同xsSpan
|
303
|
+
* @since 2.11.3
|
304
|
+
*/
|
305
|
+
viewXsSpan?: string;
|
200
306
|
/**
|
201
307
|
* 栅格左侧的间隔格数, 默认: 0
|
202
308
|
* @since 2.8.12
|
203
309
|
*/
|
204
310
|
offset: number;
|
205
|
-
/**
|
311
|
+
/**
|
312
|
+
* 新增时栅格左侧的间隔格数, 默认: 同xsSpan
|
313
|
+
* @since 2.11.3
|
314
|
+
*/
|
315
|
+
addOffset?: string;
|
316
|
+
/**
|
317
|
+
* 编辑时栅格左侧的间隔格数, 默认: 同xsSpan
|
318
|
+
* @since 2.11.3
|
319
|
+
*/
|
320
|
+
editOffset?: string;
|
321
|
+
/**
|
322
|
+
* 详情时栅格左侧的间隔格数, 默认: 同xsSpan
|
323
|
+
* @since 2.11.3
|
324
|
+
*/
|
325
|
+
viewOffset?: string;
|
326
|
+
/**
|
327
|
+
* 栅格向右移动格数, 默认: 0
|
328
|
+
* @since 2.8.12
|
329
|
+
*/
|
330
|
+
push: number;
|
331
|
+
/**
|
332
|
+
* 新增时栅格向右移动格数, 默认: 同xsSpan
|
333
|
+
* @since 2.11.3
|
334
|
+
*/
|
335
|
+
addPush?: string;
|
336
|
+
/**
|
337
|
+
* 编辑时栅格向右移动格数, 默认: 同xsSpan
|
338
|
+
* @since 2.11.3
|
339
|
+
*/
|
340
|
+
editPush?: string;
|
341
|
+
/**
|
342
|
+
* 详情时栅格向右移动格数, 默认: 同xsSpan
|
343
|
+
* @since 2.11.3
|
344
|
+
*/
|
345
|
+
viewPush?: string;
|
346
|
+
/**
|
347
|
+
* 栅格向左移动格数, 默认: 0
|
348
|
+
* @since 2.8.12
|
349
|
+
*/
|
350
|
+
pull: number;
|
351
|
+
/**
|
352
|
+
* 新增时栅格向左移动格数, 默认: 同xsSpan
|
353
|
+
* @since 2.11.3
|
354
|
+
*/
|
355
|
+
addPull?: string;
|
356
|
+
/**
|
357
|
+
* 编辑时栅格向左移动格数, 默认: 同xsSpan
|
358
|
+
* @since 2.11.3
|
359
|
+
*/
|
360
|
+
editPull?: string;
|
361
|
+
/**
|
362
|
+
* 详情时栅格向左移动格数, 默认: 同xsSpan
|
363
|
+
* @since 2.11.3
|
364
|
+
*/
|
365
|
+
viewPull?: string;
|
366
|
+
/**
|
367
|
+
* 表单项是否单独成行, 默认: false
|
368
|
+
* @description 暂未实现
|
369
|
+
*/
|
206
370
|
row: boolean;
|
207
371
|
}
|
208
372
|
|
@@ -220,6 +384,8 @@ export interface FormColumnDicOption {
|
|
220
384
|
dicMethod: 'get' | 'GET' | 'post' | 'POST';
|
221
385
|
/** 字典请求参数,配合dicUrl使用 */
|
222
386
|
dicQuery: Obj;
|
387
|
+
/** 远程字典其他配置 */
|
388
|
+
dicOptions: Obj,
|
223
389
|
/** 字典数据返回的执行函数,配合dicUrl使用 */
|
224
390
|
dicFormatter: (value: any) => Obj[];
|
225
391
|
/** 参数配置项 */
|
@@ -235,7 +401,7 @@ export interface FormColumnEvent<T = Obj> {
|
|
235
401
|
* @example https://avuejs.com/form/form-control.html
|
236
402
|
* @since 2.8.6
|
237
403
|
*/
|
238
|
-
control: (value: any, form: T, tableData:
|
404
|
+
control: (value: any, form: T, tableData: FormColumnEventBaseParams<T>) => Record<string, Partial<AvueFormColumn<T>>>;
|
239
405
|
/**
|
240
406
|
* 点击事件
|
241
407
|
* @since 2.9.6
|
@@ -245,7 +411,7 @@ export interface FormColumnEvent<T = Obj> {
|
|
245
411
|
* 值改变事件
|
246
412
|
* @since 2.9.6
|
247
413
|
*/
|
248
|
-
change: (params:
|
414
|
+
change: (params: FormColumnEventBaseParams<T>) => void;
|
249
415
|
/**
|
250
416
|
* 聚焦事件
|
251
417
|
* @since 2.9.6
|
@@ -259,14 +425,14 @@ export interface FormColumnEvent<T = Obj> {
|
|
259
425
|
/**
|
260
426
|
* 回车事件
|
261
427
|
*/
|
262
|
-
enter: (params:
|
428
|
+
enter: (params: FormColumnEventBaseParams<T>) => void;
|
263
429
|
/**
|
264
430
|
* 事件源码
|
265
431
|
* @since 2.9.12(伪)
|
266
432
|
*/
|
267
433
|
_event?: Record<string, string>;
|
268
434
|
/** 事件 */
|
269
|
-
event: Partial<
|
435
|
+
event: Partial<Pick<FormColumnEvent<T>, 'click' | 'change' | 'focus' | 'blur' | 'enter'>>;
|
270
436
|
}
|
271
437
|
|
272
438
|
/** 表单项通用参数 */
|
package/types/form/index.d.ts
CHANGED
@@ -1,7 +1,8 @@
|
|
1
1
|
// 引入定义
|
2
2
|
import { VNode } from 'vue';
|
3
3
|
import { ElForm } from 'element-ui/types/form';
|
4
|
-
import { AvueComponent,
|
4
|
+
import { AvueComponent, Obj } from '../global';
|
5
|
+
import { DicHttpProps } from '../variable';
|
5
6
|
import { FormOption } from './option';
|
6
7
|
import { DicProps } from './column';
|
7
8
|
|
package/types/form/option.d.ts
CHANGED
@@ -1,5 +1,6 @@
|
|
1
1
|
import { ResponsiveColumn } from 'element-ui/types/col';
|
2
|
-
import { AvueAlignment, AvueComponentSize,
|
2
|
+
import { AvueAlignment, AvueComponentSize, Obj } from '../global';
|
3
|
+
import { DicHttpProps } from '../variable';
|
3
4
|
import { AvueFormColumn } from './column';
|
4
5
|
|
5
6
|
/** 表单组件基本配置属性 */
|
@@ -164,4 +165,4 @@ export interface FormEvents {
|
|
164
165
|
}
|
165
166
|
|
166
167
|
/** 表单组件配置属性 */
|
167
|
-
export type FormOption<T = Obj> = Partial<FormBaseOption> & Partial<FormMenuOption> & FormColumnOption<T> & FormEvents;
|
168
|
+
export type FormOption<T = Obj> = Partial<FormBaseOption> & Partial<FormMenuOption> & FormColumnOption<T> & FormEvents & Obj;
|
package/types/global.d.ts
CHANGED
@@ -32,50 +32,6 @@ export declare type Obj<T = any> = Record<string, T> & Object;
|
|
32
32
|
/** log日志类型 */
|
33
33
|
type LogType = 'primary' | 'success' | 'warning' | 'danger' | 'text';
|
34
34
|
|
35
|
-
/** 字典Props配置 */
|
36
|
-
export interface DicProps {
|
37
|
-
/** 行主键, 默认: 'id' */
|
38
|
-
rowKey: string;
|
39
|
-
/** 行上级主键, 默认: 'parentId' */
|
40
|
-
rowParentKey: string;
|
41
|
-
/** 节点主键, 默认: 'id' */
|
42
|
-
nodeKey: string;
|
43
|
-
/** 名称属性值, 默认: 'label' */
|
44
|
-
label: string;
|
45
|
-
/** 值属性值, 默认: 'value' */
|
46
|
-
value: string;
|
47
|
-
/** 降序, 默认: 'desc' */
|
48
|
-
desc: string;
|
49
|
-
/** 分组, 默认: 'groups' */
|
50
|
-
groups: string;
|
51
|
-
/** 标题, 默认: 'title' */
|
52
|
-
title: string;
|
53
|
-
/** 是否为叶子节点, 默认: 'leaf' */
|
54
|
-
leaf: string;
|
55
|
-
/** 子属性值, 默认: 'children' */
|
56
|
-
children: string;
|
57
|
-
/** 是否有子节点, 默认: 'hasChildren' */
|
58
|
-
hasChildren: string;
|
59
|
-
/** label文字, 默认: '名称' */
|
60
|
-
labelText: string;
|
61
|
-
/** 禁用, 默认: 'disabled' */
|
62
|
-
disabled: string;
|
63
|
-
}
|
64
|
-
|
65
|
-
/** 接口请求Props配置 */
|
66
|
-
export interface DicHttpProps {
|
67
|
-
/** 文件名Key, 默认: 'name' */
|
68
|
-
name: string;
|
69
|
-
/** 文件路径Key, 默认: 'url' */
|
70
|
-
url: string;
|
71
|
-
/** 文件上传时的文件字段名Key, 默认: 'file' */
|
72
|
-
fileName: string;
|
73
|
-
/** 返回的数据格式, 默认: '' */
|
74
|
-
res: string;
|
75
|
-
/** 文件路径前缀, 默认: '' */
|
76
|
-
home: string;
|
77
|
-
}
|
78
|
-
|
79
35
|
// window属性扩展
|
80
36
|
declare global {
|
81
37
|
interface Window {
|
@@ -0,0 +1,78 @@
|
|
1
|
+
/** 字典Props配置 */
|
2
|
+
export interface DicProps {
|
3
|
+
/** 行主键, 默认: 'id' */
|
4
|
+
rowKey: string;
|
5
|
+
/** 行上级主键, 默认: 'parentId' */
|
6
|
+
rowParentKey: string;
|
7
|
+
/** 节点主键, 默认: 'id' */
|
8
|
+
nodeKey: string;
|
9
|
+
/** 名称属性值, 默认: 'label' */
|
10
|
+
label: string;
|
11
|
+
/** 值属性值, 默认: 'value' */
|
12
|
+
value: string;
|
13
|
+
/** , 默认: 'type' */
|
14
|
+
type: string;
|
15
|
+
/** 降序, 默认: 'desc' */
|
16
|
+
desc: string;
|
17
|
+
/** 分组, 默认: 'groups' */
|
18
|
+
groups: string;
|
19
|
+
/** 标题, 默认: 'title' */
|
20
|
+
title: string;
|
21
|
+
/** 是否为叶子节点, 默认: 'leaf' */
|
22
|
+
leaf: string;
|
23
|
+
/** 子属性值, 默认: 'children' */
|
24
|
+
children: string;
|
25
|
+
/** 是否有子节点, 默认: 'hasChildren' */
|
26
|
+
hasChildren: string;
|
27
|
+
/** label文字, 默认: '名称' */
|
28
|
+
labelText: string;
|
29
|
+
/** 禁用, 默认: 'disabled' */
|
30
|
+
disabled: string;
|
31
|
+
}
|
32
|
+
/** 接口请求Props配置 */
|
33
|
+
export interface DicHttpProps {
|
34
|
+
/** 文件名Key, 默认: 'name' */
|
35
|
+
name: string;
|
36
|
+
/** 文件路径Key, 默认: 'url' */
|
37
|
+
url: string;
|
38
|
+
/** 文件类型, 默认: 'type' */
|
39
|
+
fileType: string;
|
40
|
+
/** 文件上传时的文件字段名Key, 默认: 'file' */
|
41
|
+
fileName: string;
|
42
|
+
/** 返回的数据格式, 默认: '' */
|
43
|
+
res: string;
|
44
|
+
/** 文件路径前缀, 默认: '' */
|
45
|
+
home: string;
|
46
|
+
}
|
47
|
+
export namespace Variable {
|
48
|
+
/** 字典Props配置 */
|
49
|
+
export const DIC_PROPS: DicProps;
|
50
|
+
/** 接口请求Props配置 */
|
51
|
+
export const DIC_HTTP_PROPS: Omit<DicHttpProps, 'home'>;
|
52
|
+
/** 时间单选类组件类型 */
|
53
|
+
export const SINGLE_DATE_LIST: string;
|
54
|
+
/** 时间区间类组件类型 */
|
55
|
+
export const DATE_ARRAY_LIST = string;
|
56
|
+
/** 时间类组件类型 */
|
57
|
+
export const DATE_LIST: string;
|
58
|
+
/** 含子组件的带值组件类型 */
|
59
|
+
export const CHILDREN_LIST: string;
|
60
|
+
/** input-开头的组件类型 */
|
61
|
+
export const INPUT_LIST: string;
|
62
|
+
/** 纯数组的组件类型 */
|
63
|
+
export const ARRAY_LIST: string;
|
64
|
+
/** 可单选/多选的组件类型 */
|
65
|
+
export const MULTIPLE_LIST: string;
|
66
|
+
/** 范围组件类型 */
|
67
|
+
export const RANGE_LIST: string;
|
68
|
+
/** 值为数组的组件类型 */
|
69
|
+
export const ARRAY_VALUE_LIST: string;
|
70
|
+
/** 选择类的组件类型 */
|
71
|
+
export const SELECT_LIST: string;
|
72
|
+
/** 数组转展示的分隔字符 */
|
73
|
+
export const DIC_SHOW_SPLIT: string;
|
74
|
+
/** 数组转字符串的分隔字符 */
|
75
|
+
export const DIC_SPLIT: string;
|
76
|
+
/** 媒体类型正则索引 */
|
77
|
+
export const typeList: Record<string, RegExp>;
|
78
|
+
}
|