@wyfex/ivue 0.12.0 → 0.13.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.
Files changed (26) hide show
  1. package/dist/index.es.js +23 -6
  2. package/dist/index.umd.cjs +23 -6
  3. package/dist/ivue.css +1 -1
  4. package/dist/types/UseElForm/components/QueryForm.vue.d.ts +134 -0
  5. package/dist/types/UseElForm/components/RowForm.vue.d.ts +140 -0
  6. package/dist/types/UseElForm/components/controls/Cascader.vue.d.ts +14 -0
  7. package/dist/types/UseElForm/components/controls/DatePicker.vue.d.ts +15 -0
  8. package/dist/types/UseElForm/components/controls/Input.vue.d.ts +11 -0
  9. package/dist/types/UseElForm/components/controls/InputNumber.vue.d.ts +10 -0
  10. package/dist/types/UseElForm/components/controls/InputRange.vue.d.ts +11 -0
  11. package/dist/types/UseElForm/components/controls/Radio.vue.d.ts +11 -0
  12. package/dist/types/UseElForm/components/controls/Select.vue.d.ts +18 -0
  13. package/dist/types/UseElForm/components/controls/Switch.vue.d.ts +8 -0
  14. package/dist/types/UseElForm/components/controls/TimePicker.vue.d.ts +10 -0
  15. package/dist/types/UseElForm/components/controls/TimeSelect.vue.d.ts +10 -0
  16. package/dist/types/UseElForm/components/controls/TreeSelect.vue.d.ts +12 -0
  17. package/dist/types/UseElForm/components/useQueryColSpan.d.ts +6 -0
  18. package/dist/types/UseElForm/hook.d.ts +14 -0
  19. package/dist/types/UseElForm/index.vue.d.ts +139 -0
  20. package/dist/types/UseElForm/props.d.ts +60 -0
  21. package/dist/types/UseElForm/types.d.ts +194 -0
  22. package/dist/types/index.d.ts +1 -0
  23. package/package.json +1 -1
  24. package/src/components/UseElDialog/props.ts +2 -2
  25. package/src/components/UseElForm/props.ts +102 -0
  26. package/src/components/UseElForm/types.ts +371 -0
@@ -0,0 +1,194 @@
1
+ import { ExtractPropTypes } from 'vue';
2
+ import { default as componentProps } from './props';
3
+ import { RenderConfig, UseDict } from '../../../types';
4
+ export type Props = ExtractPropTypes<typeof componentProps>;
5
+ export interface Emits {
6
+ (e: 'onDictKeys', value?: string[]): void;
7
+ (e: 'update:formModel', value: Record<string, any>): void;
8
+ }
9
+ export interface QueryConfig {
10
+ mode?: 'ROW' | 'INLINE';
11
+ colSpan?: 24 | 12 | 8 | 6 | 4 | 3 | 2 | 1 | 0;
12
+ formItemWidth?: string;
13
+ showBottomBorber?: boolean;
14
+ openQueryBtnLoading?: boolean;
15
+ onQuery?: Function;
16
+ }
17
+ export interface InputConfig {
18
+ useRender: boolean | RenderConfig;
19
+ type?: 'text' | 'textarea' | 'number' | 'password' | 'email' | 'search' | 'tel' | 'url';
20
+ prefixIcon?: string;
21
+ suffixIcon?: string;
22
+ clearable?: boolean;
23
+ maxlength?: string;
24
+ formatter?: string;
25
+ parser?: string;
26
+ autosize?: boolean | {
27
+ minRows?: number;
28
+ maxRows?: number;
29
+ };
30
+ rows?: number;
31
+ resize?: string;
32
+ showPassword?: boolean;
33
+ placeholder?: string;
34
+ width?: string;
35
+ autoFocus?: boolean;
36
+ prefixContent?: string | object;
37
+ suffixContent?: string | object;
38
+ prependContent?: string | object;
39
+ appendContent?: string | object;
40
+ unit?: string | object;
41
+ onClear?: (...args: any) => any;
42
+ inputEvent?: Function;
43
+ onKeyupEnter?: (...args: any) => any;
44
+ }
45
+ export interface InputNumberConfig {
46
+ useRender: boolean | RenderConfig;
47
+ min?: number;
48
+ max?: number;
49
+ step?: number;
50
+ precision?: number;
51
+ placeholder?: string;
52
+ disabledScientific?: boolean;
53
+ unit?: string | object;
54
+ }
55
+ export interface RadioConfig {
56
+ useRender: boolean | RenderConfig;
57
+ options?: Array<{
58
+ label: string;
59
+ value: string | number;
60
+ }>;
61
+ props?: {
62
+ value: string;
63
+ label?: string;
64
+ };
65
+ reverse?: boolean;
66
+ onChange?: (...args: any) => any;
67
+ }
68
+ export interface SelectConfig {
69
+ useRender: boolean | RenderConfig;
70
+ multiple?: boolean;
71
+ clearable?: boolean;
72
+ placeholder?: string;
73
+ options?: Array<{
74
+ label: string;
75
+ value: string | number;
76
+ }>;
77
+ props?: {
78
+ value: string;
79
+ label?: string;
80
+ };
81
+ useV2: boolean;
82
+ reverse?: boolean;
83
+ toJoin?: boolean;
84
+ width?: string;
85
+ onChange?: (...args: any) => any;
86
+ }
87
+ export interface CascaderConfig {
88
+ useRender: boolean | RenderConfig;
89
+ clearable?: boolean;
90
+ options?: Array<{
91
+ label: string;
92
+ value: string | number;
93
+ }>;
94
+ props?: {
95
+ value: string;
96
+ label?: string;
97
+ };
98
+ width?: string;
99
+ onChange?: (...args: any) => any;
100
+ }
101
+ export interface DatePickerConfig {
102
+ useRender: boolean | RenderConfig;
103
+ type?: 'year' | 'years' | 'month' | 'months' | 'date' | 'dates' | 'datetime' | 'week' | 'datetimerange' | 'daterange' | 'monthrange' | 'yearrange';
104
+ clearable?: boolean;
105
+ disabledDate?: Function;
106
+ placeholder?: string;
107
+ format?: string;
108
+ valueFormat?: string;
109
+ startPlaceholder?: string;
110
+ endPlaceholder?: string;
111
+ rangeSeparator?: string;
112
+ width?: string;
113
+ onCalendarChange?: Function;
114
+ onClear?: Function;
115
+ onChange?: Function;
116
+ }
117
+ export interface TimePickerConfig {
118
+ useRender: boolean | RenderConfig;
119
+ startPlaceholder?: string;
120
+ endPlaceholder?: string;
121
+ rangeSeparator?: string;
122
+ isRange?: boolean;
123
+ editable?: boolean;
124
+ format?: string;
125
+ valueFormat?: string;
126
+ onChange?: (...args: any) => any;
127
+ }
128
+ export interface TimeSelectConfig {
129
+ useRender: boolean | RenderConfig;
130
+ startProp: string;
131
+ endProp: string;
132
+ }
133
+ export interface SwitchConfig {
134
+ useRender: boolean | RenderConfig;
135
+ activeValue?: string | number | boolean;
136
+ inactiveValue?: string | number | boolean;
137
+ onChange?: (...args: any) => any;
138
+ }
139
+ export interface InputRangeConfig {
140
+ startProp: string;
141
+ endProp: string;
142
+ startPlaceholder?: string;
143
+ endPlaceholder?: string;
144
+ rangeSeparator?: string;
145
+ onClear?: (...args: any) => any;
146
+ }
147
+ export interface TreeSelectConfig {
148
+ useRender?: boolean | RenderConfig;
149
+ data: Record<string, unknown>[];
150
+ reverse?: boolean;
151
+ width?: string;
152
+ placeholder?: string;
153
+ props?: {
154
+ value: string;
155
+ label?: string;
156
+ };
157
+ checkStrictly?: boolean;
158
+ filterable?: boolean;
159
+ clearable?: boolean;
160
+ defaultExpandedKeys?: Array<string | number>;
161
+ }
162
+ export interface IRequired {
163
+ isRequired?: boolean;
164
+ validator: 'mobile' | 'nonNegativeDecimal';
165
+ parmas?: any;
166
+ }
167
+ export interface FormColumn {
168
+ label?: string;
169
+ prop: string;
170
+ queryProp?: string | string[];
171
+ required: boolean | IRequired;
172
+ errorMessage?: string;
173
+ disabled?: boolean;
174
+ useDict?: boolean | string | UseDict;
175
+ span?: number;
176
+ labelWidth?: string;
177
+ labelPosition?: 'left' | 'right' | 'top';
178
+ show?: boolean;
179
+ filter?: boolean;
180
+ formItemClass?: string;
181
+ slot?: string | boolean;
182
+ renderConfig?: RenderConfig;
183
+ inputConfig?: InputConfig;
184
+ inputNumberConfig?: InputNumberConfig;
185
+ selectConfig?: SelectConfig;
186
+ treeSelectConfig?: TreeSelectConfig;
187
+ cascaderConfig?: CascaderConfig;
188
+ datePickerConfig?: DatePickerConfig;
189
+ timePickerConfig?: TimePickerConfig;
190
+ timeSelectConfig?: TimeSelectConfig;
191
+ radioConfig?: RadioConfig;
192
+ switchConfig?: SwitchConfig;
193
+ inputRangeConfig?: InputRangeConfig;
194
+ }
@@ -4,6 +4,7 @@ export { default as UseElDatePicker } from './UseElDatePicker/index.vue';
4
4
  export { default as UseElDescriptions } from './UseElDescriptions/index.vue';
5
5
  export { default as UseElDialog } from './UseElDialog/index.vue';
6
6
  export { default as UseElDrawer } from './UseElDrawer/index.vue';
7
+ export { default as UseElForm } from './UseElForm/index.vue';
7
8
  export { default as UseElInput } from './UseElInput/index.vue';
8
9
  export { default as UseElSelect } from './UseElSelect/index.vue';
9
10
  export { default as UseElSwitch } from './UseElSwitch/index.vue';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@wyfex/ivue",
3
- "version": "0.12.0",
3
+ "version": "0.13.0",
4
4
  "description": "万有前端 X 体系下基于 Vite8 + Vue3 + Typescript6 + ElementPlus2 构建的 iVue 组件库",
5
5
  "homepage": "https://wyfe.top/idocs/ivue",
6
6
  "type": "module",
@@ -73,11 +73,11 @@ export default {
73
73
  default: false
74
74
  },
75
75
  /**
76
- * 底部定位 默认right
76
+ * 底部定位 默认left
77
77
  */
78
78
  footerPosition: {
79
79
  type: String,
80
- default: 'right',
80
+ default: 'left',
81
81
  validator: (val: string) => ['left', 'center', 'right'].includes(val)
82
82
  },
83
83
  /**
@@ -0,0 +1,102 @@
1
+ import type { PropType } from 'vue'
2
+ import type { FormColumn, QueryConfig } from './types'
3
+ import type { DictMap, DictProps, RenderConfig } from '@/types'
4
+
5
+ /**
6
+ * 组件props
7
+ */
8
+ export default {
9
+ /**
10
+ * 表单列 必传
11
+ */
12
+ formColumns: {
13
+ type: Array as PropType<FormColumn[]>,
14
+ required: true
15
+ },
16
+ /**
17
+ * 表单模型 必传
18
+ */
19
+ formModel: {
20
+ type: Object as PropType<Record<string, any>>,
21
+ required: true
22
+ },
23
+ /**
24
+ * 是否使用渲染器 默认否
25
+ */
26
+ useRender: {
27
+ type: [Boolean, Object] as PropType<boolean | RenderConfig>,
28
+ default: false
29
+ },
30
+ /**
31
+ * 字典映射 数据结构为{ formColumns[][label | useDict | useDict.data]: Array<{ label: string, value: any }> }
32
+ */
33
+ dictMap: {
34
+ type: Object as PropType<DictMap>,
35
+ default: () => ({})
36
+ },
37
+ /**
38
+ * 字典属性 默认为{ value: 'value', label: 'label', children: 'children' },可通过全局配置进行设置,为适配全局配置此处不再设置默认值
39
+ */
40
+ dictProps: {
41
+ type: Object as PropType<DictProps>,
42
+ default: () => ({})
43
+ },
44
+ /**
45
+ * el-form-item宽度值
46
+ */
47
+ formItemWidth: {
48
+ type: String,
49
+ default: '100%'
50
+ },
51
+ /**
52
+ * label后缀
53
+ */
54
+ labelSuffix: {
55
+ type: String,
56
+ default: ''
57
+ },
58
+ /**
59
+ * label宽度
60
+ */
61
+ labelWidth: {
62
+ type: String,
63
+ default: 'auto'
64
+ },
65
+ /**
66
+ * label定位
67
+ */
68
+ labelPosition: {
69
+ type: String,
70
+ default: 'right',
71
+ validator: (val: string) => ['left', 'right', 'top'].includes(val)
72
+ },
73
+ /**
74
+ * el-row的gutter值
75
+ */
76
+ rowGutter: {
77
+ type: Number,
78
+ default: 20
79
+ },
80
+ /**
81
+ * el-col的span值
82
+ */
83
+ colSpan: {
84
+ type: Number,
85
+ default: 12,
86
+ validator: (val: number) => [24, 12, 8, 6, 4, 3, 2, 1, 0].includes(val)
87
+ },
88
+ /**
89
+ * 是否禁用
90
+ */
91
+ disabled: {
92
+ type: Boolean,
93
+ default: false
94
+ },
95
+ /**
96
+ * 查询配置
97
+ */
98
+ queryConfig: {
99
+ type: Object as PropType<QueryConfig>,
100
+ default: () => ({})
101
+ }
102
+ }
@@ -0,0 +1,371 @@
1
+ import type { ExtractPropTypes } from 'vue'
2
+ import componentProps from './props'
3
+ import type { RenderConfig, UseDict } from '@/types'
4
+
5
+ /**
6
+ * props类型
7
+ */
8
+ export type Props = ExtractPropTypes<typeof componentProps>
9
+
10
+ /**
11
+ * emits接口
12
+ */
13
+ export interface Emits {
14
+ // dictKeys事件
15
+ (e: 'onDictKeys', value?: string[]): void
16
+ // 更新formModel 仅formMode为inlineForm时支持
17
+ (e: 'update:formModel', value: Record<string, any>): void
18
+ }
19
+
20
+ /**
21
+ * queryConfig接口
22
+ */
23
+ export interface QueryConfig {
24
+ /**
25
+ * 查询表单模式 支持ROW和INLINE
26
+ * 不显式指定则默认为ROW(queryConfig为非空对象方可生效)
27
+ */
28
+ mode?: 'ROW' | 'INLINE'
29
+ /**
30
+ * 查询表单mode为ROW的el-col的span
31
+ * 不显式设置则使用内部默认响应式
32
+ */
33
+ colSpan?: 24 | 12 | 8 | 6 | 4 | 3 | 2 | 1 | 0
34
+ /**
35
+ * el-form-item宽度值
36
+ * 查询表单mode为ROW时formItemWidth默认为100%;查询表单mode为INLINE时formItemWidth默认为180px
37
+ */
38
+ formItemWidth?: string
39
+ /**
40
+ * 是否显示底部border 默认显示
41
+ */
42
+ showBottomBorber?: boolean
43
+ /**
44
+ * 开启查询按钮loading
45
+ * 注意:开启此配置项需回调onQuery事件第二个参数done,否则查询按钮loading无法关闭
46
+ */
47
+ openQueryBtnLoading?: boolean
48
+ /**
49
+ * 查询表单事件
50
+ */
51
+ onQuery?: Function
52
+ }
53
+
54
+ /**
55
+ * inputConfig接口
56
+ */
57
+ export interface InputConfig {
58
+ useRender: boolean | RenderConfig
59
+ type?:
60
+ | 'text'
61
+ | 'textarea'
62
+ | 'number'
63
+ | 'password'
64
+ | 'email'
65
+ | 'search'
66
+ | 'tel'
67
+ | 'url'
68
+ prefixIcon?: string
69
+ suffixIcon?: string
70
+ clearable?: boolean
71
+ maxlength?: string
72
+ formatter?: string
73
+ parser?: string
74
+ autosize?: boolean | { minRows?: number; maxRows?: number }
75
+ rows?: number
76
+ resize?: string
77
+ showPassword?: boolean
78
+ placeholder?: string
79
+ width?: string // 默认el-input的width为100% 可设置width为''或具体宽度值,为''则使用默认的el-input宽度
80
+ autoFocus?: boolean // 为true则对el-input使用v-focus聚焦指令
81
+ prefixContent?: string | object // el-input头部插槽内容
82
+ suffixContent?: string | object // el-input尾部插槽内容
83
+ prependContent?: string | object // el-input前置插槽内容
84
+ appendContent?: string | object // el-input后置插槽内容
85
+ unit?: string | object // 在el-input右外部显示单位
86
+ onClear?: (...args: any) => any // el-input的clear事件
87
+ inputEvent?: Function // el-input的input事件
88
+ onKeyupEnter?: (...args: any) => any // el-input的keyup.enter事件
89
+ }
90
+
91
+ /**
92
+ * inputNumberConfig接口
93
+ */
94
+ export interface InputNumberConfig {
95
+ useRender: boolean | RenderConfig
96
+ min?: number
97
+ max?: number
98
+ step?: number
99
+ precision?: number
100
+ placeholder?: string
101
+ disabledScientific?: boolean
102
+ unit?: string | object // 在el-input-number右外部显示单位
103
+ }
104
+
105
+ /**
106
+ * radioConfig接口
107
+ */
108
+ export interface RadioConfig {
109
+ useRender: boolean | RenderConfig
110
+ options?: Array<{ label: string; value: string | number }> // el-radio的选项集
111
+ props?: { value: string; label?: string } // el-radio的props配置项
112
+ reverse?: boolean // 是否反转单选框和标签的位置
113
+ onChange?: (...args: any) => any // el-radio的change事件
114
+ }
115
+
116
+ /**
117
+ * selectConfig接口
118
+ */
119
+ export interface SelectConfig {
120
+ useRender: boolean | RenderConfig
121
+ multiple?: boolean
122
+ clearable?: boolean
123
+ placeholder?: string
124
+ options?: Array<{ label: string; value: string | number }>
125
+ props?: { value: string; label?: string }
126
+ useV2: boolean //是否使用v2版本
127
+ reverse?: boolean // 是否反转
128
+ toJoin?: boolean // 是否将值为数组转为以逗号分隔的字符串
129
+ width?: string // 默认el-select的width为100% 可设置width为''或具体宽度值,为''则使用默认的el-select宽度
130
+ onChange?: (...args: any) => any // el-select的change事件
131
+ }
132
+
133
+ /**
134
+ * cascaderConfig接口
135
+ */
136
+ export interface CascaderConfig {
137
+ useRender: boolean | RenderConfig
138
+ clearable?: boolean
139
+ options?: Array<{ label: string; value: string | number }> //el-cascader的选项集
140
+ props?: { value: string; label?: string } //el-cascader的props配置项
141
+ width?: string //默认el-cascader的width为100% 可设置width为''或具体宽度值,为''则使用默认的el-cascader宽度
142
+ onChange?: (...args: any) => any //el-select的change事件
143
+ }
144
+
145
+ /**
146
+ * datePickerConfig接口
147
+ */
148
+ export interface DatePickerConfig {
149
+ useRender: boolean | RenderConfig
150
+ type?:
151
+ | 'year'
152
+ | 'years'
153
+ | 'month'
154
+ | 'months'
155
+ | 'date'
156
+ | 'dates'
157
+ | 'datetime'
158
+ | 'week'
159
+ | 'datetimerange'
160
+ | 'daterange'
161
+ | 'monthrange'
162
+ | 'yearrange'
163
+ clearable?: boolean
164
+ disabledDate?: Function
165
+ placeholder?: string
166
+ format?: string
167
+ valueFormat?: string
168
+ startPlaceholder?: string
169
+ endPlaceholder?: string
170
+ rangeSeparator?: string
171
+ width?: string // 默认el-date-picker的width为100% 可设置width为''或具体宽度值,为''则使用默认的el-date-picker宽度
172
+ onCalendarChange?: Function // el-date-picker的calendar-change事件
173
+ onClear?: Function // el-date-picker的clear事件
174
+ onChange?: Function // el-date-picker的change事件
175
+ }
176
+
177
+ /**
178
+ * timePickerConfig接口
179
+ */
180
+ export interface TimePickerConfig {
181
+ useRender: boolean | RenderConfig
182
+ startPlaceholder?: string
183
+ endPlaceholder?: string
184
+ rangeSeparator?: string
185
+ isRange?: boolean
186
+ editable?: boolean
187
+ format?: string
188
+ valueFormat?: string
189
+ onChange?: (...args: any) => any //el-date-picker的change事件
190
+ }
191
+
192
+ /**
193
+ * timeSelectConfig接口
194
+ */
195
+ export interface TimeSelectConfig {
196
+ useRender: boolean | RenderConfig
197
+ startProp: string // 时间选择范围开始时间在formModel中的属性名
198
+ endProp: string // 时间选择范围结束时间在formModel中的属性名
199
+ }
200
+
201
+ /**
202
+ * switchConfig接口
203
+ */
204
+ export interface SwitchConfig {
205
+ useRender: boolean | RenderConfig
206
+ activeValue?: string | number | boolean
207
+ inactiveValue?: string | number | boolean
208
+ onChange?: (...args: any) => any // el-switch的change事件
209
+ }
210
+
211
+ /**
212
+ * inputRangeConfig接口
213
+ */
214
+ export interface InputRangeConfig {
215
+ startProp: string // 输入范围开始值在formModel中的属性名
216
+ endProp: string // 输入范围结束值在formModel中的属性名
217
+ startPlaceholder?: string
218
+ endPlaceholder?: string
219
+ rangeSeparator?: string
220
+ onClear?: (...args: any) => any
221
+ }
222
+
223
+ /**
224
+ * treeSelectConfig接口
225
+ */
226
+ export interface TreeSelectConfig {
227
+ useRender?: boolean | RenderConfig
228
+ data: Record<string, unknown>[]
229
+ reverse?: boolean // 是否反转
230
+ width?: string
231
+ placeholder?: string
232
+ props?: { value: string; label?: string }
233
+ checkStrictly?: boolean
234
+ filterable?: boolean
235
+ clearable?: boolean
236
+ defaultExpandedKeys?: Array<string | number>
237
+ }
238
+
239
+ export interface IRequired {
240
+ // 是否必填
241
+ isRequired?: boolean
242
+ // 内置校验器
243
+ validator: 'mobile' | 'nonNegativeDecimal'
244
+ // 参数
245
+ parmas?: any
246
+ }
247
+
248
+ /**
249
+ * formColumn接口
250
+ */
251
+ export interface FormColumn {
252
+ /**
253
+ * el-form-item的label
254
+ * 可不传,不传则不显示label且不占用label空间,同时不会显示必填项星号,但需要手动指定errorMessage以显示必填项错误提示信息
255
+ * 如果useDict为true则必须传入label以获取dictMap中的数据,否则无法使用字典功能
256
+ */
257
+ label?: string
258
+ /**
259
+ * el-form-item的prop
260
+ * 可传以逗号分隔的字符串,组件内部自动拆解,如'startDate,endDate' => { startDate: xxx, endDate: yyy }
261
+ */
262
+ prop: string
263
+ /**
264
+ * 查询prop
265
+ * 当查询表单(如起止时间字段拆分)和列表prop字段不一致时传入该配置项
266
+ * 可传以逗号分隔的字符串,组件内部自动拆解,亦可传入字符串数组
267
+ */
268
+ queryProp?: string | string[]
269
+ /**
270
+ * 是否为必填项
271
+ * 如为boolean则使用基础必填校验
272
+ * 如为IRequired则使用内置必填校验
273
+ * 可传对象数组进行自定义校验
274
+ */
275
+ required: boolean | IRequired
276
+ /**
277
+ * 必填项错误消息
278
+ * 如不指定则默认为“请输入xxx”或“请选择xxx”
279
+ */
280
+ errorMessage?: string
281
+ /**
282
+ * 是否禁用
283
+ */
284
+ disabled?: boolean
285
+ /**
286
+ * 使用字典
287
+ * 如为boolean则将label作为dictMap的key
288
+ * 如为string或dict.data为string则将dict或dict.data作为dictMap的key
289
+ */
290
+ useDict?: boolean | string | UseDict
291
+ /**
292
+ * el-col的span
293
+ */
294
+ span?: number
295
+ /**
296
+ * el-form-item的labelWidth
297
+ */
298
+ labelWidth?: string
299
+ /**
300
+ * el-form-item的labelPosition
301
+ */
302
+ labelPosition?: 'left' | 'right' | 'top'
303
+ /**
304
+ * 是否显示当前项
305
+ * 为false则不显示当前项 会占用formColumn空间,似v-show
306
+ */
307
+ show?: boolean
308
+ /**
309
+ * 是否过滤当前项
310
+ * 为true则将当前项从formColumns中过滤掉 不会占用formColumn空间,似v-if
311
+ */
312
+ filter?: boolean
313
+ /**
314
+ * el-form-item的class
315
+ */
316
+ formItemClass?: string
317
+ /**
318
+ * 插槽
319
+ * 为string类型则使用slot值作为具名插槽值
320
+ * 为boolean类型则使用prop值作为具名插槽值
321
+ */
322
+ slot?: string | boolean
323
+ /**
324
+ * 表单项为【UseRender】的配置项
325
+ */
326
+ renderConfig?: RenderConfig
327
+ /**
328
+ * 表单项为【输入框】的配置项
329
+ */
330
+ inputConfig?: InputConfig
331
+ /**
332
+ * 表单项为【数字输入框】的配置项
333
+ */
334
+ inputNumberConfig?: InputNumberConfig
335
+ /**
336
+ * 表单项为【选择下拉框】的配置项
337
+ */
338
+ selectConfig?: SelectConfig
339
+ /**
340
+ * 表单项为【树形选择下拉框】的配置项
341
+ */
342
+ treeSelectConfig?: TreeSelectConfig
343
+ /**
344
+ * 表单项为【级联选择器】的配置项
345
+ */
346
+ cascaderConfig?: CascaderConfig
347
+ /**
348
+ * 表单项为【日期选择器】的配置项
349
+ */
350
+ datePickerConfig?: DatePickerConfig
351
+ /**
352
+ * 表单项为【时间选择器】的配置项
353
+ */
354
+ timePickerConfig?: TimePickerConfig
355
+ /**
356
+ * 表单项为【时间选择范围】的配置项
357
+ */
358
+ timeSelectConfig?: TimeSelectConfig
359
+ /**
360
+ * 表单项为【单选框】的配置项
361
+ */
362
+ radioConfig?: RadioConfig
363
+ /**
364
+ * 表单项为【开关】的配置项
365
+ */
366
+ switchConfig?: SwitchConfig
367
+ /**
368
+ * 表单项为【输入范围】的配置项
369
+ */
370
+ inputRangeConfig?: InputRangeConfig
371
+ }