@allahjs/utils 1.8.0 → 1.10.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/.tsbuildinfo +1 -1
- package/dist/browser/domUtils/index.cjs +102 -0
- package/dist/browser/domUtils/index.cjs.map +1 -1
- package/dist/browser/domUtils/index.d.ts +24 -0
- package/dist/core/constants/asyncTaskScheduleVo.d.ts +98 -0
- package/dist/core/constants/comm.cjs +25 -0
- package/dist/core/constants/comm.cjs.map +1 -0
- package/dist/core/constants/comm.d.ts +309 -0
- package/dist/core/constants/defaultData.cjs +16 -0
- package/dist/core/constants/defaultData.cjs.map +1 -0
- package/dist/core/constants/defaultData.d.ts +8 -0
- package/dist/core/constants/index.cjs +22 -0
- package/dist/core/constants/index.cjs.map +1 -0
- package/dist/core/constants/index.d.ts +4 -0
- package/dist/core/constants/systemEnum.cjs +25 -0
- package/dist/core/constants/systemEnum.cjs.map +1 -0
- package/dist/core/constants/systemEnum.d.ts +22 -0
- package/dist/core/dateUtils/index.cjs +46 -1
- package/dist/core/dateUtils/index.cjs.map +1 -1
- package/dist/core/dateUtils/index.d.ts +21 -1
- package/dist/core/index.cjs +19 -17
- package/dist/core/index.cjs.map +1 -1
- package/dist/core/index.d.ts +10 -0
- package/dist/core/storageUtils/index.cjs +135 -0
- package/dist/core/storageUtils/index.cjs.map +1 -0
- package/dist/core/storageUtils/index.d.ts +54 -0
- package/dist/esm/browser/domUtils/index.d.ts +24 -0
- package/dist/esm/browser/domUtils/index.js +102 -0
- package/dist/esm/browser/domUtils/index.js.map +1 -1
- package/dist/esm/core/constants/asyncTaskScheduleVo.d.ts +98 -0
- package/dist/esm/core/constants/comm.d.ts +309 -0
- package/dist/esm/core/constants/comm.js +25 -0
- package/dist/esm/core/constants/comm.js.map +1 -0
- package/dist/esm/core/constants/defaultData.d.ts +8 -0
- package/dist/esm/core/constants/defaultData.js +14 -0
- package/dist/esm/core/constants/defaultData.js.map +1 -0
- package/dist/esm/core/constants/index.d.ts +4 -0
- package/dist/esm/core/constants/index.js +4 -0
- package/dist/esm/core/constants/index.js.map +1 -0
- package/dist/esm/core/constants/systemEnum.d.ts +22 -0
- package/dist/esm/core/constants/systemEnum.js +25 -0
- package/dist/esm/core/constants/systemEnum.js.map +1 -0
- package/dist/esm/core/dateUtils/index.d.ts +21 -1
- package/dist/esm/core/dateUtils/index.js +46 -2
- package/dist/esm/core/dateUtils/index.js.map +1 -1
- package/dist/esm/core/index.d.ts +10 -0
- package/dist/esm/core/index.js +3 -1
- package/dist/esm/core/index.js.map +1 -1
- package/dist/esm/core/storageUtils/index.d.ts +54 -0
- package/dist/esm/core/storageUtils/index.js +131 -0
- package/dist/esm/core/storageUtils/index.js.map +1 -0
- package/dist/esm/form/index.d.ts +1 -0
- package/dist/esm/form/index.js +2 -0
- package/dist/esm/form/index.js.map +1 -0
- package/dist/esm/form/types.d.ts +878 -0
- package/dist/esm/index.d.ts +7 -2
- package/dist/esm/index.js +5 -1
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/types/data/index.d.ts +22 -1
- package/dist/esm/types/index.d.ts +1 -1
- package/dist/esm/umijs/index.d.ts +1 -0
- package/dist/esm/umijs/index.js +2 -0
- package/dist/esm/umijs/index.js.map +1 -0
- package/dist/esm/umijs/initialUmiState.d.ts +148 -0
- package/dist/esm/umijs/initialUmiState.js +107 -0
- package/dist/esm/umijs/initialUmiState.js.map +1 -0
- package/dist/form/index.cjs +3 -0
- package/dist/form/index.cjs.map +1 -0
- package/dist/form/index.d.ts +1 -0
- package/dist/form/types.d.ts +878 -0
- package/dist/index.cjs +49 -37
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.ts +7 -2
- package/dist/types/data/index.d.ts +22 -1
- package/dist/types/index.d.ts +1 -1
- package/dist/umijs/index.cjs +13 -0
- package/dist/umijs/index.cjs.map +1 -0
- package/dist/umijs/index.d.ts +1 -0
- package/dist/umijs/initialUmiState.cjs +114 -0
- package/dist/umijs/initialUmiState.cjs.map +1 -0
- package/dist/umijs/initialUmiState.d.ts +148 -0
- package/package.json +1 -1
|
@@ -0,0 +1,878 @@
|
|
|
1
|
+
import { IOptions, ITreeNode } from '../types/data/index.js';
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* JSON规则项配置
|
|
5
|
+
* 用于定义表单字段的动态校验规则
|
|
6
|
+
*/
|
|
7
|
+
type IJsonRuleItem = {
|
|
8
|
+
/** 连接符,如 'and'、'or' */
|
|
9
|
+
connect: string;
|
|
10
|
+
/** 字段名称 */
|
|
11
|
+
fact: string;
|
|
12
|
+
/** 操作符,如 '='、'>'、'<'、'!=' 等 */
|
|
13
|
+
operator: string;
|
|
14
|
+
/** 比较值 */
|
|
15
|
+
value: any;
|
|
16
|
+
/**
|
|
17
|
+
* 依赖字段的类型,比如text,select之类的
|
|
18
|
+
* 用于确定如何处理和比较值
|
|
19
|
+
*/
|
|
20
|
+
type: any;
|
|
21
|
+
};
|
|
22
|
+
/**
|
|
23
|
+
* JSON规则列表项
|
|
24
|
+
* 包含一组规则和对应的触发事件
|
|
25
|
+
*/
|
|
26
|
+
type IJsonRuleListItem = {
|
|
27
|
+
/**
|
|
28
|
+
* 全部的规则集合
|
|
29
|
+
* 当所有规则都满足时触发对应事件
|
|
30
|
+
*/
|
|
31
|
+
all: IJsonRuleItem[];
|
|
32
|
+
/**
|
|
33
|
+
* 对应的事件类型
|
|
34
|
+
* 如 'show'、'hide'、'required'、'disabled' 等
|
|
35
|
+
*/
|
|
36
|
+
event: string;
|
|
37
|
+
};
|
|
38
|
+
/**
|
|
39
|
+
* ProForm实例类型扩展
|
|
40
|
+
* 在原有FormInstance基础上增加格式化相关方法
|
|
41
|
+
* @template T 表单数据类型
|
|
42
|
+
*/
|
|
43
|
+
type ProFormInstanceType<T> = {
|
|
44
|
+
/**
|
|
45
|
+
* 获取被 ProForm 格式化后的所有数据
|
|
46
|
+
* @param nameList 是否获取所有数据,包括未被form托管的
|
|
47
|
+
* @param omitNil 是否忽略空值
|
|
48
|
+
* @returns 格式化后的表单数据
|
|
49
|
+
*
|
|
50
|
+
* @example getFieldsFormatValue() // 返回所有数据
|
|
51
|
+
* @example getFieldsFormatValue(true) // 返回所有数据,即使没有被 form 托管的
|
|
52
|
+
*/
|
|
53
|
+
getFieldsFormatValue?: (nameList?: true, omitNil?: boolean) => T;
|
|
54
|
+
/**
|
|
55
|
+
* 获取被 ProForm 格式化后的单个数据
|
|
56
|
+
* @param nameList 字段路径数组
|
|
57
|
+
* @returns 格式化后的字段值
|
|
58
|
+
*
|
|
59
|
+
* @example {a:{b:value}} -> getFieldFormatValue(['a', 'b']) -> value
|
|
60
|
+
*/
|
|
61
|
+
getFieldFormatValue?: (nameList?: NamePath) => T;
|
|
62
|
+
/**
|
|
63
|
+
* 获取被 ProForm 格式化后的单个数据,包含完整的对象结构
|
|
64
|
+
* @param nameList 字段路径数组
|
|
65
|
+
* @returns 包含完整路径的格式化数据对象
|
|
66
|
+
*
|
|
67
|
+
* @example {a:{b:value}} -> getFieldFormatValueObject(['a','b']) -> {a:{b:value}}
|
|
68
|
+
*/
|
|
69
|
+
getFieldFormatValueObject?: (nameList?: NamePath) => T;
|
|
70
|
+
/**
|
|
71
|
+
* 验证字段后返回格式化之后的所有数据
|
|
72
|
+
* @param nameList 需要验证的字段路径数组
|
|
73
|
+
* @returns Promise包装的格式化数据
|
|
74
|
+
*
|
|
75
|
+
* @example validateFieldsReturnFormatValue -> {a:{b:value}}
|
|
76
|
+
*/
|
|
77
|
+
validateFieldsReturnFormatValue?: (nameList?: NamePath[]) => Promise<T>;
|
|
78
|
+
};
|
|
79
|
+
/**
|
|
80
|
+
* ProForm实例类型
|
|
81
|
+
* 结合了原生FormInstance和ProForm扩展功能
|
|
82
|
+
* @template T 表单数据类型,默认为any
|
|
83
|
+
*/
|
|
84
|
+
type ProFormInstance<T = any> = FormInstance<T> & ProFormInstanceType<T>;
|
|
85
|
+
/**
|
|
86
|
+
* 内部字段数据接口
|
|
87
|
+
* 包含字段值和元数据信息
|
|
88
|
+
*/
|
|
89
|
+
interface InternalFieldData extends Meta {
|
|
90
|
+
/** 字段值 */
|
|
91
|
+
value: any;
|
|
92
|
+
}
|
|
93
|
+
/**
|
|
94
|
+
* 字段数据接口
|
|
95
|
+
* 用于 setFields 配置,不包含name的其他元数据
|
|
96
|
+
*/
|
|
97
|
+
interface FieldData extends Partial<Omit<InternalFieldData, "name">> {
|
|
98
|
+
/** 字段路径 */
|
|
99
|
+
name: NamePath;
|
|
100
|
+
}
|
|
101
|
+
/**
|
|
102
|
+
* 内部字段路径类型
|
|
103
|
+
* 由字符串或数字组成的数组,用于定位嵌套字段
|
|
104
|
+
*/
|
|
105
|
+
type InternalNamePath = (string | number)[];
|
|
106
|
+
/**
|
|
107
|
+
* 字段元数据接口
|
|
108
|
+
* 包含字段的状态信息
|
|
109
|
+
*/
|
|
110
|
+
interface Meta {
|
|
111
|
+
/** 是否已被触摸(用户交互过) */
|
|
112
|
+
touched: boolean;
|
|
113
|
+
/** 是否正在验证中 */
|
|
114
|
+
validating: boolean;
|
|
115
|
+
/** 错误信息数组 */
|
|
116
|
+
errors: string[];
|
|
117
|
+
/** 警告信息数组 */
|
|
118
|
+
warnings: string[];
|
|
119
|
+
/** 字段路径 */
|
|
120
|
+
name: InternalNamePath;
|
|
121
|
+
/** 是否已验证 */
|
|
122
|
+
validated: boolean;
|
|
123
|
+
}
|
|
124
|
+
/**
|
|
125
|
+
* 字段错误接口
|
|
126
|
+
* 包含字段路径和对应的错误、警告信息
|
|
127
|
+
*/
|
|
128
|
+
interface FieldError {
|
|
129
|
+
/** 字段路径 */
|
|
130
|
+
name: InternalNamePath;
|
|
131
|
+
/** 错误信息数组 */
|
|
132
|
+
errors: string[];
|
|
133
|
+
/** 警告信息数组 */
|
|
134
|
+
warnings: string[];
|
|
135
|
+
}
|
|
136
|
+
/**
|
|
137
|
+
* 过滤函数类型
|
|
138
|
+
* 用于过滤字段元数据
|
|
139
|
+
* @param meta 字段元数据
|
|
140
|
+
* @returns 是否通过过滤
|
|
141
|
+
*/
|
|
142
|
+
type FilterFunc = (meta: Meta) => boolean;
|
|
143
|
+
/**
|
|
144
|
+
* 字段路径类型
|
|
145
|
+
* 可以是任意类型,通常为字符串、数字或它们的数组
|
|
146
|
+
* @template T 路径类型,默认为any
|
|
147
|
+
*/
|
|
148
|
+
type NamePath<T = any> = any;
|
|
149
|
+
/**
|
|
150
|
+
* 验证选项接口
|
|
151
|
+
* 用于配置字段验证行为
|
|
152
|
+
*/
|
|
153
|
+
interface ValidateOptions {
|
|
154
|
+
/**
|
|
155
|
+
* 仅验证,不触发UI和字段状态更新
|
|
156
|
+
*/
|
|
157
|
+
validateOnly?: boolean;
|
|
158
|
+
/**
|
|
159
|
+
* 递归验证。会验证包含提供路径的所有字段
|
|
160
|
+
* 例如:[['a']] 会验证 ['a']、['a', 'b'] 和 ['a', 1]
|
|
161
|
+
*/
|
|
162
|
+
recursive?: boolean;
|
|
163
|
+
/** 仅验证脏字段(已验证或已触摸的字段) */
|
|
164
|
+
dirty?: boolean;
|
|
165
|
+
}
|
|
166
|
+
/**
|
|
167
|
+
* 获取字段值的配置
|
|
168
|
+
* 用于 getFieldsValue 方法
|
|
169
|
+
*/
|
|
170
|
+
type GetFieldsValueConfig = {
|
|
171
|
+
/** 严格模式,是否严格按照字段定义获取值 */
|
|
172
|
+
strict?: boolean;
|
|
173
|
+
/** 过滤函数,用于过滤需要获取的字段 */
|
|
174
|
+
filter?: FilterFunc;
|
|
175
|
+
};
|
|
176
|
+
/**
|
|
177
|
+
* 验证字段函数类型
|
|
178
|
+
* 支持多种调用方式的字段验证
|
|
179
|
+
* @template Values 表单值类型,默认为any
|
|
180
|
+
*/
|
|
181
|
+
type ValidateFields<Values = any> = {
|
|
182
|
+
/** 验证所有字段 */
|
|
183
|
+
(opt?: ValidateOptions): Promise<Values>;
|
|
184
|
+
/** 验证指定字段 */
|
|
185
|
+
(nameList?: NamePath[], opt?: ValidateOptions): Promise<Values>;
|
|
186
|
+
};
|
|
187
|
+
/**
|
|
188
|
+
* React Hook Form 实例接口
|
|
189
|
+
* 提供表单的核心操作方法
|
|
190
|
+
* @template Values 表单值类型,默认为any
|
|
191
|
+
*/
|
|
192
|
+
interface RcFormInstance<Values = any> {
|
|
193
|
+
/** 获取单个字段值 */
|
|
194
|
+
getFieldValue: (name: NamePath) => any;
|
|
195
|
+
/** 获取多个字段值,支持多种调用方式 */
|
|
196
|
+
getFieldsValue: (() => Values) & ((nameList: NamePath[] | true, filterFunc?: FilterFunc) => any) & ((config: GetFieldsValueConfig) => any);
|
|
197
|
+
/** 获取字段错误信息 */
|
|
198
|
+
getFieldError: (name: NamePath) => string[];
|
|
199
|
+
/** 获取多个字段错误信息 */
|
|
200
|
+
getFieldsError: (nameList?: NamePath[]) => FieldError[];
|
|
201
|
+
/** 获取字段警告信息 */
|
|
202
|
+
getFieldWarning: (name: NamePath) => string[];
|
|
203
|
+
/** 检查字段是否被触摸 */
|
|
204
|
+
isFieldsTouched: ((nameList?: NamePath[], allFieldsTouched?: boolean) => boolean) & ((allFieldsTouched?: boolean) => boolean);
|
|
205
|
+
/** 检查单个字段是否被触摸 */
|
|
206
|
+
isFieldTouched: (name: NamePath) => boolean;
|
|
207
|
+
/** 检查字段是否正在验证 */
|
|
208
|
+
isFieldValidating: (name: NamePath) => boolean;
|
|
209
|
+
/** 检查多个字段是否正在验证 */
|
|
210
|
+
isFieldsValidating: (nameList?: NamePath[]) => boolean;
|
|
211
|
+
/** 重置字段值 */
|
|
212
|
+
resetFields: (fields?: NamePath[]) => void;
|
|
213
|
+
/** 设置字段数据 */
|
|
214
|
+
setFields: (fields: FieldData[]) => void;
|
|
215
|
+
/** 设置单个字段值 */
|
|
216
|
+
setFieldValue: (name: NamePath, value: any) => void;
|
|
217
|
+
/** 设置多个字段值 */
|
|
218
|
+
setFieldsValue: (values: any) => void;
|
|
219
|
+
/** 验证字段 */
|
|
220
|
+
validateFields: ValidateFields<Values>;
|
|
221
|
+
/** 提交表单 */
|
|
222
|
+
submit: () => void;
|
|
223
|
+
}
|
|
224
|
+
/**
|
|
225
|
+
* 表单实例接口
|
|
226
|
+
* 在RcFormInstance基础上增加滚动和获取字段实例功能
|
|
227
|
+
* @template Values 表单值类型,默认为any
|
|
228
|
+
*/
|
|
229
|
+
interface FormInstance<Values = any> extends RcFormInstance<Values> {
|
|
230
|
+
/** 滚动到指定字段 */
|
|
231
|
+
scrollToField: (name: NamePath, options?: ScrollOptions) => void;
|
|
232
|
+
/** 获取字段实例 */
|
|
233
|
+
getFieldInstance: (name: NamePath) => any;
|
|
234
|
+
}
|
|
235
|
+
/**
|
|
236
|
+
* 以上类型定义从 antdForm.d.ts 迁移而来
|
|
237
|
+
* 提供了完整的表单实例和字段管理功能
|
|
238
|
+
*/
|
|
239
|
+
/**
|
|
240
|
+
* 必填标记类型
|
|
241
|
+
* 用于控制表单项的必填显示方式
|
|
242
|
+
*/
|
|
243
|
+
declare type RequiredMark = boolean | "optional";
|
|
244
|
+
/**
|
|
245
|
+
* 尺寸类型
|
|
246
|
+
* 定义组件的大小规格
|
|
247
|
+
*/
|
|
248
|
+
type ISizeType = "small" | "middle" | "large" | undefined;
|
|
249
|
+
/**
|
|
250
|
+
* 表单字段类型
|
|
251
|
+
* 定义特殊的表单字段类型
|
|
252
|
+
*/
|
|
253
|
+
declare type FormFieldType = "group" | "formList" | "formSet" | "divider" | "dependency";
|
|
254
|
+
/**
|
|
255
|
+
* 工具提示属性接口
|
|
256
|
+
* 用于配置提示框的样式和行为
|
|
257
|
+
*/
|
|
258
|
+
interface TooltipProps {
|
|
259
|
+
/** 样式对象 */
|
|
260
|
+
style?: any;
|
|
261
|
+
/** CSS类名 */
|
|
262
|
+
className?: string;
|
|
263
|
+
/** 背景颜色 */
|
|
264
|
+
color?: string;
|
|
265
|
+
/** 打开状态的CSS类名 */
|
|
266
|
+
openClassName?: string;
|
|
267
|
+
/** 箭头是否指向中心 */
|
|
268
|
+
arrowPointAtCenter?: boolean;
|
|
269
|
+
/** 是否自动调整溢出 */
|
|
270
|
+
autoAdjustOverflow?: boolean;
|
|
271
|
+
/** 获取弹出容器的函数 */
|
|
272
|
+
getPopupContainer?: (triggerNode: HTMLElement) => HTMLElement;
|
|
273
|
+
/** 子元素 */
|
|
274
|
+
children?: any;
|
|
275
|
+
/** 标题内容 */
|
|
276
|
+
title?: any;
|
|
277
|
+
/** 覆盖层内容 */
|
|
278
|
+
overlay?: any;
|
|
279
|
+
}
|
|
280
|
+
/**
|
|
281
|
+
* 包装工具提示属性
|
|
282
|
+
* 在基础TooltipProps上增加图标配置
|
|
283
|
+
*/
|
|
284
|
+
declare type WrapperTooltipProps = TooltipProps & {
|
|
285
|
+
/** 图标元素 */
|
|
286
|
+
icon?: any;
|
|
287
|
+
};
|
|
288
|
+
/**
|
|
289
|
+
* 表单项标签属性接口
|
|
290
|
+
* 用于配置表单项的标签显示
|
|
291
|
+
*/
|
|
292
|
+
interface FormItemLabelProps {
|
|
293
|
+
/** 是否显示冒号 */
|
|
294
|
+
colon?: boolean;
|
|
295
|
+
/** HTML for属性 */
|
|
296
|
+
htmlFor?: string;
|
|
297
|
+
/** 标签内容 */
|
|
298
|
+
label?: any | string;
|
|
299
|
+
/** 必填标记配置 */
|
|
300
|
+
requiredMark?: RequiredMark;
|
|
301
|
+
}
|
|
302
|
+
/**
|
|
303
|
+
* ProField值类型与字段属性映射
|
|
304
|
+
* 定义了各种字段类型对应的属性配置
|
|
305
|
+
*/
|
|
306
|
+
interface ProFieldValueTypeWithFieldProps {
|
|
307
|
+
/** 文本类型 */
|
|
308
|
+
text: Record<string, any>;
|
|
309
|
+
/** 密码类型 */
|
|
310
|
+
password: Record<string, any>;
|
|
311
|
+
/** 金额类型 */
|
|
312
|
+
money: Record<string, any>;
|
|
313
|
+
/** 索引类型 */
|
|
314
|
+
index: Record<string, any>;
|
|
315
|
+
/** 带边框索引类型 */
|
|
316
|
+
indexBorder: Record<string, any>;
|
|
317
|
+
/** 选项类型 */
|
|
318
|
+
option: Record<string, any>;
|
|
319
|
+
/** 文本域类型 */
|
|
320
|
+
textarea: Record<string, any>;
|
|
321
|
+
/** 日期类型 */
|
|
322
|
+
date: Record<string, any>;
|
|
323
|
+
/** 周选择类型 */
|
|
324
|
+
dateWeek: Record<string, any>;
|
|
325
|
+
/** 月份选择类型 */
|
|
326
|
+
dateMonth: Record<string, any>;
|
|
327
|
+
/** 季度选择类型 */
|
|
328
|
+
dateQuarter: Record<string, any>;
|
|
329
|
+
/** 年份选择类型 */
|
|
330
|
+
dateYear: Record<string, any>;
|
|
331
|
+
/** 日期时间类型 */
|
|
332
|
+
dateTime: Record<string, any>;
|
|
333
|
+
/** 相对时间类型 */
|
|
334
|
+
fromNow: Record<string, any>;
|
|
335
|
+
/** 日期范围类型 */
|
|
336
|
+
dateRange: Record<string, any>;
|
|
337
|
+
/** 日期时间范围类型 */
|
|
338
|
+
dateTimeRange: Record<string, any>;
|
|
339
|
+
/** 时间类型 */
|
|
340
|
+
time: Record<string, any>;
|
|
341
|
+
/** 时间范围类型 */
|
|
342
|
+
timeRange: Record<string, any>;
|
|
343
|
+
/** 选择器类型 */
|
|
344
|
+
select: Record<string, any>;
|
|
345
|
+
/** 复选框类型 */
|
|
346
|
+
checkbox: Record<string, any>;
|
|
347
|
+
/** 评分类型 */
|
|
348
|
+
rate: Record<string, any>;
|
|
349
|
+
/** 滑块类型 */
|
|
350
|
+
slider: Record<string, any>;
|
|
351
|
+
/** 单选框类型 */
|
|
352
|
+
radio: Record<string, any>;
|
|
353
|
+
/** 单选按钮类型 */
|
|
354
|
+
radioButton: Record<string, any>;
|
|
355
|
+
/** 进度条类型 */
|
|
356
|
+
progress: Record<string, any>;
|
|
357
|
+
/** 百分比类型 */
|
|
358
|
+
percent: Record<string, any>;
|
|
359
|
+
/** 数字类型 */
|
|
360
|
+
digit: Record<string, any>;
|
|
361
|
+
/** 数字范围类型 */
|
|
362
|
+
digitRange: Record<string, any>;
|
|
363
|
+
/** 秒数类型 */
|
|
364
|
+
second: Record<string, any>;
|
|
365
|
+
/** 代码类型 */
|
|
366
|
+
code: Record<string, any>;
|
|
367
|
+
/** JSON代码类型 */
|
|
368
|
+
jsonCode: Record<string, any>;
|
|
369
|
+
/** 头像类型 */
|
|
370
|
+
avatar: Record<string, any>;
|
|
371
|
+
/** 开关类型 */
|
|
372
|
+
switch: Record<string, any>;
|
|
373
|
+
/** 图片类型 */
|
|
374
|
+
image: Record<string, any>;
|
|
375
|
+
/** 级联选择类型 */
|
|
376
|
+
cascader: Record<string, any>;
|
|
377
|
+
/** 树选择类型 */
|
|
378
|
+
treeSelect: Record<string, any>;
|
|
379
|
+
/** 颜色选择类型 */
|
|
380
|
+
color: Record<string, any> & {
|
|
381
|
+
/** 当前颜色值 */
|
|
382
|
+
value?: string;
|
|
383
|
+
/** 弹出框属性 */
|
|
384
|
+
popoverProps?: any;
|
|
385
|
+
/** 模式:只读或编辑 */
|
|
386
|
+
mode?: "read" | "edit";
|
|
387
|
+
/** 颜色变化回调 */
|
|
388
|
+
onChange?: (color: string) => void;
|
|
389
|
+
/** 预设颜色数组 */
|
|
390
|
+
colors?: string[];
|
|
391
|
+
};
|
|
392
|
+
}
|
|
393
|
+
/**
|
|
394
|
+
* 基础表单项属性接口
|
|
395
|
+
* 定义了表单项的通用配置
|
|
396
|
+
* @template T 值类型,默认为any
|
|
397
|
+
*/
|
|
398
|
+
interface IZlFormItemProps<T = any> {
|
|
399
|
+
/** 当前值 */
|
|
400
|
+
value?: T;
|
|
401
|
+
/** 值变化回调 */
|
|
402
|
+
onChange?: (v: T) => void;
|
|
403
|
+
/** 标签文本 */
|
|
404
|
+
label?: string | any;
|
|
405
|
+
/** 标题文本 */
|
|
406
|
+
title?: string;
|
|
407
|
+
/** 右侧DOM元素 */
|
|
408
|
+
rightDom?: any;
|
|
409
|
+
/** 左侧DOM元素 */
|
|
410
|
+
leftDom?: any;
|
|
411
|
+
/**
|
|
412
|
+
* 是否显示分隔线
|
|
413
|
+
* @default false
|
|
414
|
+
*/
|
|
415
|
+
showDivider?: boolean;
|
|
416
|
+
/**
|
|
417
|
+
* 请求远程数据的函数
|
|
418
|
+
* 可以返回枚举对象、树节点数组或选项数组
|
|
419
|
+
*/
|
|
420
|
+
request?: (v?: any) => Promise<ProSchemaValueEnumObj> | Promise<ITreeNode[] | Promise<IOptions<any>[]>>;
|
|
421
|
+
/**
|
|
422
|
+
* 值枚举配置
|
|
423
|
+
* 支持 object 和 Map,Map 支持其他基础类型作为 key
|
|
424
|
+
*/
|
|
425
|
+
valueEnum?: ProSchemaValueEnumObj;
|
|
426
|
+
/**
|
|
427
|
+
* 布局方式
|
|
428
|
+
* @default 'horizontal'
|
|
429
|
+
*/
|
|
430
|
+
layout?: "horizontal" | "vertical";
|
|
431
|
+
/**
|
|
432
|
+
* 是否禁用
|
|
433
|
+
* @default false
|
|
434
|
+
*/
|
|
435
|
+
disabled?: boolean;
|
|
436
|
+
/**
|
|
437
|
+
* 是否是详情模式
|
|
438
|
+
*/
|
|
439
|
+
details?: boolean;
|
|
440
|
+
/**
|
|
441
|
+
* 占位符文本
|
|
442
|
+
*/
|
|
443
|
+
placeholder?: string;
|
|
444
|
+
/** 是否必填 */
|
|
445
|
+
required?: boolean;
|
|
446
|
+
/**
|
|
447
|
+
* 自定义字典 - 配置这个组件会自动调用 DicUtilService.opt7ListByKey 来获取数据
|
|
448
|
+
* 需要配合 request 使用
|
|
449
|
+
*/
|
|
450
|
+
dicGroupMap?: string;
|
|
451
|
+
}
|
|
452
|
+
/**
|
|
453
|
+
* ProField值类型
|
|
454
|
+
* 从ProFieldValueTypeWithFieldProps中提取的键名
|
|
455
|
+
*/
|
|
456
|
+
type ProFieldValueType = keyof ProFieldValueTypeWithFieldProps;
|
|
457
|
+
/**
|
|
458
|
+
* 值类型联合
|
|
459
|
+
* 包含ProField类型和自定义扩展类型
|
|
460
|
+
*/
|
|
461
|
+
type IValueType = ProFieldValueType | "group" | "reference" | "array" | "string" | "customRender" | "formList" | "formSet" | "stepper" | "divider" | "dependency" | "cascader" | "boolean" | "button" | "money" | "text" | "title" | "datetime";
|
|
462
|
+
/**
|
|
463
|
+
* ProSchema值枚举类型配置
|
|
464
|
+
* 用于配置选项的显示和行为
|
|
465
|
+
*/
|
|
466
|
+
declare type ProSchemaValueEnumType = {
|
|
467
|
+
/** 唯一键值 */
|
|
468
|
+
key?: string;
|
|
469
|
+
/** 显示标签 */
|
|
470
|
+
label?: string;
|
|
471
|
+
/** 选项值 */
|
|
472
|
+
value: string | number;
|
|
473
|
+
/** 显示文本 */
|
|
474
|
+
text: string;
|
|
475
|
+
/**
|
|
476
|
+
* 预定义状态颜色
|
|
477
|
+
* 如 'success'、'error'、'warning' 等
|
|
478
|
+
*/
|
|
479
|
+
status?: string;
|
|
480
|
+
/**
|
|
481
|
+
* 自定义颜色值
|
|
482
|
+
* 支持十六进制、RGB等格式
|
|
483
|
+
*/
|
|
484
|
+
color?: string;
|
|
485
|
+
/**
|
|
486
|
+
* 是否禁用该选项
|
|
487
|
+
* @default false
|
|
488
|
+
*/
|
|
489
|
+
disabled?: boolean;
|
|
490
|
+
};
|
|
491
|
+
/**
|
|
492
|
+
* ProSchema值枚举对象类型
|
|
493
|
+
* 支持 Map 和 Object 两种数据结构
|
|
494
|
+
*/
|
|
495
|
+
declare type ProSchemaValueEnumObj = Record<string, ProSchemaValueEnumType | (Omit<IOptions<any>, "text"> & {
|
|
496
|
+
/** 显示文本 */
|
|
497
|
+
text: string;
|
|
498
|
+
})>;
|
|
499
|
+
/**
|
|
500
|
+
* ProSchema值枚举Map类型
|
|
501
|
+
* 支持 Map 数据结构,键可以是多种基础类型
|
|
502
|
+
*/
|
|
503
|
+
declare type ProSchemaValueEnumMap = Map<string | number | bigint, ProSchemaValueEnumType>;
|
|
504
|
+
/**
|
|
505
|
+
* 验证状态常量数组
|
|
506
|
+
*/
|
|
507
|
+
declare const ValidateStatuses: [
|
|
508
|
+
"success",
|
|
509
|
+
"warning",
|
|
510
|
+
"error",
|
|
511
|
+
"validating",
|
|
512
|
+
""
|
|
513
|
+
];
|
|
514
|
+
/**
|
|
515
|
+
* 验证状态类型
|
|
516
|
+
* 表示字段的验证结果状态
|
|
517
|
+
*/
|
|
518
|
+
declare type ValidateStatus = typeof ValidateStatuses[number];
|
|
519
|
+
/**
|
|
520
|
+
* 文件上传配置接口
|
|
521
|
+
* 用于配置文件上传相关参数
|
|
522
|
+
*/
|
|
523
|
+
interface IUploadProps {
|
|
524
|
+
/** 上传组件引用 */
|
|
525
|
+
uploadRef?: any;
|
|
526
|
+
/**
|
|
527
|
+
* 业务场景枚举
|
|
528
|
+
* 用于区分不同的上传场景
|
|
529
|
+
*/
|
|
530
|
+
busiScene?: string;
|
|
531
|
+
/**
|
|
532
|
+
* 权限枚举
|
|
533
|
+
* 基于ZlPermissionEnum的权限控制
|
|
534
|
+
*/
|
|
535
|
+
permission?: string;
|
|
536
|
+
/** 文件大小限制,单位MB,默认10MB */
|
|
537
|
+
fileSize?: number;
|
|
538
|
+
/** 接受的文件类型 */
|
|
539
|
+
accept?: string;
|
|
540
|
+
/** 是否支持多文件上传 */
|
|
541
|
+
multiple?: boolean;
|
|
542
|
+
}
|
|
543
|
+
/**
|
|
544
|
+
* 表单项属性接口
|
|
545
|
+
* 继承标签属性和上传属性,提供完整的表单项配置
|
|
546
|
+
*/
|
|
547
|
+
interface FormItemProps extends FormItemLabelProps, IUploadProps {
|
|
548
|
+
/** 样式前缀 */
|
|
549
|
+
prefixCls?: string;
|
|
550
|
+
/** 是否无样式模式 */
|
|
551
|
+
noStyle?: boolean;
|
|
552
|
+
/** 内联样式 */
|
|
553
|
+
style?: any;
|
|
554
|
+
/** CSS类名 */
|
|
555
|
+
className?: string;
|
|
556
|
+
/** 子元素 */
|
|
557
|
+
children?: any;
|
|
558
|
+
/** 元素ID */
|
|
559
|
+
id?: string;
|
|
560
|
+
/** 是否有反馈效果 */
|
|
561
|
+
hasFeedback?: boolean;
|
|
562
|
+
/** 验证状态 */
|
|
563
|
+
validateStatus?: ValidateStatus;
|
|
564
|
+
/** 是否必填 */
|
|
565
|
+
required?: boolean;
|
|
566
|
+
/** 是否隐藏 */
|
|
567
|
+
hidden?: boolean;
|
|
568
|
+
/** 初始值 */
|
|
569
|
+
initialValue?: any;
|
|
570
|
+
/** 消息变量映射 */
|
|
571
|
+
messageVariables?: Record<string, string>;
|
|
572
|
+
/** 工具提示内容 */
|
|
573
|
+
tooltip?: any;
|
|
574
|
+
/** 字段键值 */
|
|
575
|
+
fieldKey?: (string | number | bigint) | (string | number | bigint)[];
|
|
576
|
+
/**
|
|
577
|
+
* 级联选择最少选择层级
|
|
578
|
+
* 如果不设置,则需要选择到最底层
|
|
579
|
+
*/
|
|
580
|
+
minLevel?: number;
|
|
581
|
+
/**
|
|
582
|
+
* 点击事件回调
|
|
583
|
+
*/
|
|
584
|
+
onPress?: () => void;
|
|
585
|
+
/**
|
|
586
|
+
* 可上传的文件数量限制
|
|
587
|
+
*/
|
|
588
|
+
maxNum?: number;
|
|
589
|
+
/** 验证规则数组 */
|
|
590
|
+
rules?: BaseRule[];
|
|
591
|
+
/**
|
|
592
|
+
* 值格式化函数
|
|
593
|
+
* 用于显示时格式化值
|
|
594
|
+
*/
|
|
595
|
+
format?: (value: any) => string;
|
|
596
|
+
/**
|
|
597
|
+
* 货币符号
|
|
598
|
+
* 用于金额类型字段
|
|
599
|
+
*/
|
|
600
|
+
moneySymbol?: string;
|
|
601
|
+
/**
|
|
602
|
+
* 选项数组
|
|
603
|
+
* 用于选择类型字段
|
|
604
|
+
*/
|
|
605
|
+
options?: IOptions<any>[];
|
|
606
|
+
/**
|
|
607
|
+
* 点击事件
|
|
608
|
+
*/
|
|
609
|
+
onClick?: () => void;
|
|
610
|
+
/**
|
|
611
|
+
* 禁用
|
|
612
|
+
*/
|
|
613
|
+
disabled?: boolean;
|
|
614
|
+
/**
|
|
615
|
+
* 占位
|
|
616
|
+
*/
|
|
617
|
+
placeholder?: string;
|
|
618
|
+
}
|
|
619
|
+
/**
|
|
620
|
+
* 依赖关系配置接口
|
|
621
|
+
* 用于配置字段间的依赖逻辑
|
|
622
|
+
*/
|
|
623
|
+
interface IDependent {
|
|
624
|
+
/** 依赖的字段名 */
|
|
625
|
+
field: string;
|
|
626
|
+
/**
|
|
627
|
+
* 校验正则表达式
|
|
628
|
+
* 用于匹配依赖字段的值
|
|
629
|
+
*/
|
|
630
|
+
regexp?: string;
|
|
631
|
+
/**
|
|
632
|
+
* 依赖的具体值
|
|
633
|
+
*/
|
|
634
|
+
value?: string;
|
|
635
|
+
/** 是否显示当前字段 */
|
|
636
|
+
show: boolean;
|
|
637
|
+
/** 是否设为必填 */
|
|
638
|
+
required: boolean;
|
|
639
|
+
/**
|
|
640
|
+
* 提示信息
|
|
641
|
+
* 当依赖条件不满足时显示
|
|
642
|
+
*/
|
|
643
|
+
message?: string;
|
|
644
|
+
}
|
|
645
|
+
/**
|
|
646
|
+
* 验证规则类型枚举
|
|
647
|
+
* 定义了支持的数据类型验证
|
|
648
|
+
*/
|
|
649
|
+
type RuleType = "string" | "number" | "boolean" | "method" | "regexp" | "integer" | "float" | "object" | "enum" | "date" | "url" | "hex" | "email";
|
|
650
|
+
/**
|
|
651
|
+
* 基础验证规则接口
|
|
652
|
+
* 定义字段验证的各种规则配置
|
|
653
|
+
*/
|
|
654
|
+
interface BaseRule {
|
|
655
|
+
/** 是否仅警告,不阻止提交 */
|
|
656
|
+
warningOnly?: boolean;
|
|
657
|
+
/** 枚举值数组 */
|
|
658
|
+
enum?: any[];
|
|
659
|
+
/** 精确长度 */
|
|
660
|
+
len?: number;
|
|
661
|
+
/** 最大值/长度 */
|
|
662
|
+
max?: number;
|
|
663
|
+
/** 错误消息 */
|
|
664
|
+
message?: string | any;
|
|
665
|
+
/** 最小值/长度 */
|
|
666
|
+
min?: number;
|
|
667
|
+
/** 正则表达式模式 */
|
|
668
|
+
pattern?: RegExp;
|
|
669
|
+
/** 是否必填 */
|
|
670
|
+
required?: boolean;
|
|
671
|
+
/** 值转换函数 */
|
|
672
|
+
transform?: (value: any) => any;
|
|
673
|
+
/** 验证类型 */
|
|
674
|
+
type?: RuleType;
|
|
675
|
+
/** 是否检查空白字符 */
|
|
676
|
+
whitespace?: boolean;
|
|
677
|
+
/** 自定义验证触发时机,必须是字段validateTrigger的子集 */
|
|
678
|
+
validateTrigger?: string | string[];
|
|
679
|
+
}
|
|
680
|
+
/**
|
|
681
|
+
* ZlForm列配置接口
|
|
682
|
+
* 定义表单列的完整配置选项
|
|
683
|
+
* @template Entity 实体类型,默认为Record<string, any>
|
|
684
|
+
*/
|
|
685
|
+
interface IZlFormColumns<Entity = Record<string, any>> {
|
|
686
|
+
/**
|
|
687
|
+
* 列的唯一标识符
|
|
688
|
+
* 一般用于 dataIndex 重复的情况
|
|
689
|
+
*/
|
|
690
|
+
key?: string | number | bigint;
|
|
691
|
+
/**
|
|
692
|
+
* 与实体映射的键值
|
|
693
|
+
* 数组会被转化为嵌套访问,如 [a,b] => Entity.a.b
|
|
694
|
+
*/
|
|
695
|
+
dataIndex?: (string | number | bigint) | (string | number | bigint)[];
|
|
696
|
+
/**
|
|
697
|
+
* 字段依赖关系配置
|
|
698
|
+
* 用于实现字段间的联动效果
|
|
699
|
+
*/
|
|
700
|
+
dependent?: IDependent[];
|
|
701
|
+
/**
|
|
702
|
+
* 数据的渲染方式
|
|
703
|
+
* 支持内置类型和自定义valueType
|
|
704
|
+
*/
|
|
705
|
+
valueType?: IValueType;
|
|
706
|
+
/**
|
|
707
|
+
* 标题内容
|
|
708
|
+
* 在表单中作为字段标签显示
|
|
709
|
+
*/
|
|
710
|
+
title: any | string;
|
|
711
|
+
/**
|
|
712
|
+
* 工具提示内容
|
|
713
|
+
* 会在 title 旁边展示一个图标,鼠标悬停时显示提示
|
|
714
|
+
*/
|
|
715
|
+
tooltip?: string;
|
|
716
|
+
/**
|
|
717
|
+
* 值枚举配置
|
|
718
|
+
* 支持函数、对象和Map三种形式
|
|
719
|
+
*/
|
|
720
|
+
valueEnum?: ((row: Entity) => ProSchemaValueEnumObj | ProSchemaValueEnumMap) | ProSchemaValueEnumObj | ProSchemaValueEnumMap;
|
|
721
|
+
/** 表单项属性配置 */
|
|
722
|
+
formItemProps?: FormItemProps & {
|
|
723
|
+
usage?: string;
|
|
724
|
+
};
|
|
725
|
+
/** 子列配置,用于嵌套表单结构 */
|
|
726
|
+
columns?: IZlFormColumns<Entity>[];
|
|
727
|
+
/** 字段初始值 */
|
|
728
|
+
initialValue?: any;
|
|
729
|
+
/**
|
|
730
|
+
* 请求远程数据的函数
|
|
731
|
+
* 用于动态获取选项数据
|
|
732
|
+
*/
|
|
733
|
+
request?: IZlFormItemProps["request"];
|
|
734
|
+
/**
|
|
735
|
+
* 是否禁用字段
|
|
736
|
+
* @default false
|
|
737
|
+
*/
|
|
738
|
+
disabled?: boolean;
|
|
739
|
+
/**
|
|
740
|
+
* 是否显示字段
|
|
741
|
+
* @default true
|
|
742
|
+
*/
|
|
743
|
+
show?: boolean;
|
|
744
|
+
/**
|
|
745
|
+
* 布局方式
|
|
746
|
+
* @default 'horizontal'
|
|
747
|
+
*/
|
|
748
|
+
layout?: "horizontal" | "vertical";
|
|
749
|
+
/**
|
|
750
|
+
* 是否显示分隔线
|
|
751
|
+
* @default false
|
|
752
|
+
*/
|
|
753
|
+
showDivider?: boolean;
|
|
754
|
+
/**
|
|
755
|
+
* 选项数组
|
|
756
|
+
* 用于选择类型字段的静态选项
|
|
757
|
+
*/
|
|
758
|
+
options?: IOptions<any>[];
|
|
759
|
+
/**
|
|
760
|
+
* 字段属性配置
|
|
761
|
+
* 传递给 Form.Item 的属性
|
|
762
|
+
*/
|
|
763
|
+
fieldProps?: FormItemProps;
|
|
764
|
+
/**
|
|
765
|
+
* 验证规则配置
|
|
766
|
+
*/
|
|
767
|
+
rules?: BaseRule[];
|
|
768
|
+
/**
|
|
769
|
+
* 校验规则 - 最后转成form的rules格式
|
|
770
|
+
*/
|
|
771
|
+
verRules?: {
|
|
772
|
+
required?: boolean;
|
|
773
|
+
pattern?: string;
|
|
774
|
+
max?: number;
|
|
775
|
+
min?: number;
|
|
776
|
+
type?: string;
|
|
777
|
+
};
|
|
778
|
+
/**
|
|
779
|
+
* 值变化事件回调
|
|
780
|
+
* @param v 新的字段值
|
|
781
|
+
*/
|
|
782
|
+
onChange?: (v: any) => void;
|
|
783
|
+
/**
|
|
784
|
+
* 搜索模式配置
|
|
785
|
+
* - local: 强制使用本地搜索,即使有 request 函数
|
|
786
|
+
* - remote: 强制使用远程搜索,需要配合 request 函数
|
|
787
|
+
* - auto: 自动判断,有 request 时使用远程搜索,否则使用本地搜索
|
|
788
|
+
* @default 'auto'
|
|
789
|
+
*/
|
|
790
|
+
searchMode?: "local" | "remote" | "auto";
|
|
791
|
+
/**
|
|
792
|
+
* 自定义渲染函数
|
|
793
|
+
* 用于完全自定义字段的显示和交互
|
|
794
|
+
* @param value 字段值
|
|
795
|
+
* @param record 当前记录数据
|
|
796
|
+
* @param index 索引
|
|
797
|
+
* @param form 表单实例
|
|
798
|
+
* @param extra 额外信息,包含类型(读取或写入)
|
|
799
|
+
* @returns 渲染结果
|
|
800
|
+
*/
|
|
801
|
+
render?: (value: unknown, record: Entity, index: number, form: FormInstance, extra: {
|
|
802
|
+
/** 渲染类型:读取模式或编辑模式 */
|
|
803
|
+
type: "read" | "write";
|
|
804
|
+
}) => any;
|
|
805
|
+
/**
|
|
806
|
+
* 业务场景标识
|
|
807
|
+
* 用于区分不同的业务场景,如用户头像可能有注册、评论、订单等不同场景
|
|
808
|
+
*/
|
|
809
|
+
busiScene?: string;
|
|
810
|
+
/**
|
|
811
|
+
* 自定义渲染函数 - 前端代码预设一些函数的名字,然后可以通过这个字段来调用
|
|
812
|
+
*/
|
|
813
|
+
renderFunKey?: string;
|
|
814
|
+
/**
|
|
815
|
+
* 自定义字典 - 配置这个组件会自动调用 DicUtilService.opt7ListByKey 来获取数据
|
|
816
|
+
* 需要配合 request 使用
|
|
817
|
+
*/
|
|
818
|
+
dicGroupMap?: string;
|
|
819
|
+
}
|
|
820
|
+
/**
|
|
821
|
+
* 表单列接口
|
|
822
|
+
* IZlFormColumns的别名,提供更简洁的命名
|
|
823
|
+
* @template T 实体类型,默认为any
|
|
824
|
+
*/
|
|
825
|
+
interface IFormColumns<T = any> extends IZlFormColumns<T> {
|
|
826
|
+
}
|
|
827
|
+
/**
|
|
828
|
+
* 级联选择器属性接口
|
|
829
|
+
* 继承基础表单项属性,专门用于级联选择组件
|
|
830
|
+
*/
|
|
831
|
+
type IZlCascaderProps = IZlFormItemProps<string> & {
|
|
832
|
+
/**
|
|
833
|
+
* 选择模式
|
|
834
|
+
* - multiple: 多选模式
|
|
835
|
+
* - tags: 标签模式
|
|
836
|
+
*/
|
|
837
|
+
mode?: "multiple" | "tags";
|
|
838
|
+
/**
|
|
839
|
+
* 是否在每级菜单选择时都触发变化
|
|
840
|
+
* 仅在单选时生效,具体行为参考 Ant Design Cascader 组件文档
|
|
841
|
+
* @default false
|
|
842
|
+
*/
|
|
843
|
+
changeOnSelect?: boolean;
|
|
844
|
+
/**
|
|
845
|
+
* 值变化回调
|
|
846
|
+
* @param value 选中的值数组
|
|
847
|
+
*/
|
|
848
|
+
onChange?: (value: string[]) => void;
|
|
849
|
+
/**
|
|
850
|
+
* 当前选中值
|
|
851
|
+
*/
|
|
852
|
+
value?: string[];
|
|
853
|
+
/**
|
|
854
|
+
* 请求远程数据函数
|
|
855
|
+
* 返回树形结构的选项数据
|
|
856
|
+
* @param v 查询参数
|
|
857
|
+
* @returns Promise包装的树节点数组
|
|
858
|
+
*/
|
|
859
|
+
request?: (v?: any) => Promise<ITreeNode[]>;
|
|
860
|
+
};
|
|
861
|
+
/**
|
|
862
|
+
* 枚举对象联合类型
|
|
863
|
+
* 支持多种枚举数据结构
|
|
864
|
+
*/
|
|
865
|
+
type IEnumObjAll = ProSchemaValueEnumMap | ProSchemaValueEnumObj | Record<string, IOptions<any> & {
|
|
866
|
+
/** 显示文本 */
|
|
867
|
+
text: string;
|
|
868
|
+
}>;
|
|
869
|
+
/**
|
|
870
|
+
* 标准枚举对象类型
|
|
871
|
+
* 基于IOptions扩展的枚举配置
|
|
872
|
+
*/
|
|
873
|
+
type IEnumObj = Record<string, IOptions<any> & {
|
|
874
|
+
/** 显示文本 */
|
|
875
|
+
text: string;
|
|
876
|
+
}>;
|
|
877
|
+
|
|
878
|
+
export type { FieldData, FieldError, FilterFunc, FormFieldType, FormInstance, FormItemLabelProps, FormItemProps, GetFieldsValueConfig, IDependent, IEnumObj, IEnumObjAll, IFormColumns, IJsonRuleItem, IJsonRuleListItem, ISizeType, IUploadProps, IValueType, IZlCascaderProps, IZlFormColumns, IZlFormItemProps, InternalFieldData, InternalNamePath, Meta, NamePath, ProFieldValueType, ProFieldValueTypeWithFieldProps, ProFormInstance, ProFormInstanceType, ProSchemaValueEnumMap, ProSchemaValueEnumObj, ProSchemaValueEnumType, RcFormInstance, RequiredMark, RuleType, TooltipProps, ValidateFields, ValidateOptions, ValidateStatus, WrapperTooltipProps };
|