@vxe-ui/plugin-render-antd 3.3.0 → 3.4.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/src/form/index.ts CHANGED
@@ -1,359 +1,359 @@
1
- import { CreateElement } from 'vue'
2
- import XEUtils from 'xe-utils'
3
-
4
- import type { VxeUIExport, VxeGlobalRendererHandles, VxeFormConstructor, VxeFormPrivateMethods } from 'vxe-pc-ui'
5
-
6
- /**
7
- * 表单 - 渲染器
8
- */
9
- export function defineFormRender (VxeUI: VxeUIExport) {
10
- function isEmptyValue (cellValue: any) {
11
- return cellValue === null || cellValue === undefined || cellValue === ''
12
- }
13
-
14
- function getOnName (type: string) {
15
- return XEUtils.kebabCase(type)
16
- }
17
-
18
- function getModelProp (renderOpts: VxeGlobalRendererHandles.RenderOptions) {
19
- let prop = 'value'
20
- switch (renderOpts.name) {
21
- case 'ASwitch':
22
- prop = 'checked'
23
- break
24
- }
25
- return prop
26
- }
27
-
28
- function getModelEvent (renderOpts: VxeGlobalRendererHandles.RenderOptions) {
29
- let type = 'change'
30
- switch (renderOpts.name) {
31
- case 'AInput':
32
- type = 'change.value'
33
- break
34
- case 'ARadio':
35
- case 'ACheckbox':
36
- type = 'input'
37
- break
38
- }
39
- return type
40
- }
41
-
42
- function getChangeEvent (renderOpts: VxeGlobalRendererHandles.RenderOptions) {
43
- return 'change'
44
- }
45
-
46
- function getItemProps (renderOpts: VxeGlobalRendererHandles.RenderOptions, params: VxeGlobalRendererHandles.RenderFormItemContentParams, value: any, defaultProps?: { [prop: string]: any }) {
47
- return XEUtils.assign({}, defaultProps, renderOpts.props, { [getModelProp(renderOpts)]: value })
48
- }
49
-
50
- function formatText (cellValue: any) {
51
- return '' + (isEmptyValue(cellValue) ? '' : cellValue)
52
- }
53
-
54
- function getOns (renderOpts: VxeGlobalRendererHandles.RenderOptions, params: VxeGlobalRendererHandles.RenderParams, inputFunc?: Function, changeFunc?: Function) {
55
- const { events } = renderOpts
56
- const modelEvent = getModelEvent(renderOpts)
57
- const changeEvent = getChangeEvent(renderOpts)
58
- const isSameEvent = changeEvent === modelEvent
59
- const ons: { [type: string]: Function } = {}
60
- XEUtils.objectEach(events, (func: Function, key: string) => {
61
- ons[getOnName(key)] = function (...args: any[]) {
62
- func(params, ...args)
63
- }
64
- })
65
- if (inputFunc) {
66
- ons[getOnName(modelEvent)] = function (targetEvnt: any) {
67
- inputFunc(targetEvnt)
68
- if (events && events[modelEvent]) {
69
- events[modelEvent](params, targetEvnt)
70
- }
71
- if (isSameEvent && changeFunc) {
72
- changeFunc(targetEvnt)
73
- }
74
- }
75
- }
76
- if (!isSameEvent && changeFunc) {
77
- ons[getOnName(changeEvent)] = function (...args: any[]) {
78
- changeFunc(...args)
79
- if (events && events[changeEvent]) {
80
- events[changeEvent](params, ...args)
81
- }
82
- }
83
- }
84
- return ons
85
- }
86
-
87
- function getItemOns (renderOpts: VxeGlobalRendererHandles.RenderFormItemContentOptions, params: VxeGlobalRendererHandles.RenderFormItemContentParams) {
88
- const { $form, data, field } = params
89
- return getOns(renderOpts, params, (value: any) => {
90
- // 处理 model 值双向绑定
91
- XEUtils.set(data, field, value)
92
- }, () => {
93
- // 处理 change 事件相关逻辑
94
- $form.updateStatus(params)
95
- if (renderOpts.changeToSubmit) {
96
- ($form as VxeFormConstructor & VxeFormPrivateMethods).handleSubmitEvent(new Event('change'))
97
- }
98
- })
99
- }
100
-
101
- function renderOptions (h: CreateElement, options: any[], optionProps: VxeGlobalRendererHandles.RenderOptionProps) {
102
- const labelProp = optionProps.label || 'label'
103
- const valueProp = optionProps.value || 'value'
104
- return XEUtils.map(options, (item, oIndex) => {
105
- return h('a-select-option', {
106
- key: oIndex,
107
- props: {
108
- value: item[valueProp],
109
- disabled: item.disabled
110
- }
111
- }, item[labelProp])
112
- })
113
- }
114
-
115
- function cellText (cellValue: any): string[] {
116
- return [formatText(cellValue)]
117
- }
118
-
119
- function createFormItemRender (defaultProps?: { [key: string]: any }) {
120
- return function (h: CreateElement, renderOpts: VxeGlobalRendererHandles.RenderFormItemContentOptions & { name: string }, params: VxeGlobalRendererHandles.RenderFormItemContentParams) {
121
- const { data, field } = params
122
- const { name } = renderOpts
123
- const { attrs } = renderOpts
124
- const itemValue = XEUtils.get(data, field)
125
- return [
126
- h(name, {
127
- attrs,
128
- props: getItemProps(renderOpts, params, itemValue, defaultProps),
129
- on: getItemOns(renderOpts, params)
130
- })
131
- ]
132
- }
133
- }
134
-
135
- function defaultButtonItemRender (h: CreateElement, renderOpts: VxeGlobalRendererHandles.RenderFormItemContentOptions, params: VxeGlobalRendererHandles.RenderFormItemContentParams) {
136
- const { attrs } = renderOpts
137
- const props = getItemProps(renderOpts, params, null)
138
- return [
139
- h('a-button', {
140
- attrs,
141
- props,
142
- on: getItemOns(renderOpts, params),
143
- scopedSlots: {
144
- default: () => cellText(renderOpts.content || props.content)
145
- }
146
- })
147
- ]
148
- }
149
-
150
- function defaultButtonsItemRender (h: CreateElement, renderOpts: VxeGlobalRendererHandles.RenderFormItemContentOptions, params: VxeGlobalRendererHandles.RenderFormItemContentParams) {
151
- const { children } = renderOpts
152
- if (children) {
153
- return children.map((childRenderOpts: VxeGlobalRendererHandles.RenderFormItemContentOptions) => defaultButtonItemRender(h, childRenderOpts, params)[0])
154
- }
155
- return []
156
- }
157
-
158
- /**
159
- *
160
- * 已废弃
161
- * @deprecated
162
- */
163
- function createOldFormItemRadioAndCheckboxRender () {
164
- return function (h: CreateElement, renderOpts: VxeGlobalRendererHandles.RenderFormItemContentOptions & { name: string }, params: VxeGlobalRendererHandles.RenderFormItemContentParams) {
165
- const { name, options = [], optionProps = {} } = renderOpts
166
- const { data, field } = params
167
- const { attrs } = renderOpts
168
- const labelProp = optionProps.label || 'label'
169
- const valueProp = optionProps.value || 'value'
170
- const itemValue = XEUtils.get(data, field)
171
- return [
172
- h(`${name}Group`, {
173
- attrs,
174
- props: getItemProps(renderOpts, params, itemValue),
175
- on: getItemOns(renderOpts, params),
176
- scopedSlots: {
177
- default: () => {
178
- return options.map((option, oIndex) => {
179
- return h(name, {
180
- key: oIndex,
181
- props: {
182
- value: option[valueProp],
183
- disabled: option.disabled
184
- },
185
- scopedSlots: {
186
- default: () => cellText(option[labelProp])
187
- }
188
- })
189
- })
190
- }
191
- }
192
- })
193
- ]
194
- }
195
- }
196
-
197
- VxeUI.renderer.mixin({
198
- AAutoComplete: {
199
- renderFormItemContent: createFormItemRender()
200
- },
201
- AInput: {
202
- renderFormItemContent: createFormItemRender()
203
- },
204
- AInputNumber: {
205
- renderFormItemContent: createFormItemRender()
206
- },
207
- ASelect: {
208
- renderFormItemContent (h, renderOpts, params) {
209
- const { options = [], optionGroups, optionProps = {}, optionGroupProps = {} } = renderOpts
210
- const { data, field } = params
211
- const { attrs } = renderOpts
212
- const itemValue = XEUtils.get(data, field)
213
- const props = getItemProps(renderOpts, params, itemValue)
214
- const ons = getItemOns(renderOpts, params)
215
- if (optionGroups) {
216
- const groupOptions = optionGroupProps.options || 'options'
217
- const groupLabel = optionGroupProps.label || 'label'
218
- return [
219
- h('a-select', {
220
- attrs,
221
- props: {
222
- ...props,
223
- options: undefined
224
- },
225
- on: ons
226
- }, XEUtils.map(optionGroups, (group: any, gIndex: any) => {
227
- return h('a-select-opt-group', {
228
- key: gIndex
229
- }, [
230
- h('span', {
231
- slot: 'label'
232
- }, group[groupLabel])
233
- ].concat(
234
- renderOptions(h, group[groupOptions], optionProps)
235
- ))
236
- }))
237
- ]
238
- }
239
- return [
240
- h('a-select', {
241
- attrs,
242
- props: {
243
- ...props,
244
- options: props.options || options
245
- },
246
- on: ons
247
- })
248
- ]
249
- }
250
- },
251
- ACascader: {
252
- renderFormItemContent: createFormItemRender()
253
- },
254
- ADatePicker: {
255
- renderFormItemContent: createFormItemRender()
256
- },
257
- AMonthPicker: {
258
- renderFormItemContent: createFormItemRender()
259
- },
260
- ARangePicker: {
261
- renderFormItemContent: createFormItemRender()
262
- },
263
- AWeekPicker: {
264
- renderFormItemContent: createFormItemRender()
265
- },
266
- ATimePicker: {
267
- renderFormItemContent: createFormItemRender()
268
- },
269
- ATreeSelect: {
270
- renderFormItemContent: createFormItemRender()
271
- },
272
- ARate: {
273
- renderFormItemContent: createFormItemRender()
274
- },
275
- ASwitch: {
276
- renderFormItemContent: createFormItemRender()
277
- },
278
- ARadioGroup: {
279
- renderFormItemContent (h, renderOpts, params) {
280
- const { options = [], optionProps = {} } = renderOpts
281
- const { data, field } = params
282
- const { attrs } = renderOpts
283
- const labelProp = optionProps.label || 'label'
284
- const valueProp = optionProps.value || 'value'
285
- const itemValue = XEUtils.get(data, field)
286
- return [
287
- h('a-radio-group', {
288
- attrs,
289
- props: getItemProps(renderOpts, params, itemValue),
290
- on: getItemOns(renderOpts, params),
291
- scopedSlots: {
292
- default: () => {
293
- return options.map((option, oIndex) => {
294
- return h('a-radio', {
295
- key: oIndex,
296
- props: {
297
- value: option[valueProp],
298
- disabled: option.disabled
299
- },
300
- scopedSlots: {
301
- default: () => cellText(option[labelProp])
302
- }
303
- })
304
- })
305
- }
306
- }
307
- })
308
- ]
309
- }
310
- },
311
- ACheckboxGroup: {
312
- renderFormItemContent (h, renderOpts, params) {
313
- const { options = [], optionProps = {} } = renderOpts
314
- const { data, field } = params
315
- const { attrs } = renderOpts
316
- const labelProp = optionProps.label || 'label'
317
- const valueProp = optionProps.value || 'value'
318
- const itemValue = XEUtils.get(data, field)
319
- return [
320
- h('a-checkbox-group', {
321
- attrs,
322
- props: getItemProps(renderOpts, params, itemValue),
323
- on: getItemOns(renderOpts, params),
324
- scopedSlots: {
325
- default: () => {
326
- return options.map((option, oIndex) => {
327
- return h('a-checkbox', {
328
- key: oIndex,
329
- props: {
330
- value: option[valueProp],
331
- disabled: option.disabled
332
- },
333
- scopedSlots: {
334
- default: () => cellText(option[labelProp])
335
- }
336
- })
337
- })
338
- }
339
- }
340
- })
341
- ]
342
- }
343
- },
344
- AButton: {
345
- renderFormItemContent: defaultButtonItemRender
346
- },
347
-
348
- // 已废弃
349
- ARadio: {
350
- renderFormItemContent: createOldFormItemRadioAndCheckboxRender()
351
- },
352
- ACheckbox: {
353
- renderFormItemContent: createOldFormItemRadioAndCheckboxRender()
354
- },
355
- AButtons: {
356
- renderFormItemContent: defaultButtonsItemRender
357
- }
358
- })
359
- }
1
+ import { CreateElement } from 'vue'
2
+ import XEUtils from 'xe-utils'
3
+
4
+ import type { VxeUIExport, VxeGlobalRendererHandles, VxeFormConstructor, VxeFormPrivateMethods } from 'vxe-pc-ui'
5
+
6
+ /**
7
+ * 表单 - 渲染器
8
+ */
9
+ export function defineFormRender (VxeUI: VxeUIExport) {
10
+ function isEmptyValue (cellValue: any) {
11
+ return cellValue === null || cellValue === undefined || cellValue === ''
12
+ }
13
+
14
+ function getOnName (type: string) {
15
+ return XEUtils.kebabCase(type)
16
+ }
17
+
18
+ function getModelProp (renderOpts: VxeGlobalRendererHandles.RenderOptions) {
19
+ let prop = 'value'
20
+ switch (renderOpts.name) {
21
+ case 'ASwitch':
22
+ prop = 'checked'
23
+ break
24
+ }
25
+ return prop
26
+ }
27
+
28
+ function getModelEvent (renderOpts: VxeGlobalRendererHandles.RenderOptions) {
29
+ let type = 'change'
30
+ switch (renderOpts.name) {
31
+ case 'AInput':
32
+ type = 'change.value'
33
+ break
34
+ case 'ARadio':
35
+ case 'ACheckbox':
36
+ type = 'input'
37
+ break
38
+ }
39
+ return type
40
+ }
41
+
42
+ function getChangeEvent (renderOpts: VxeGlobalRendererHandles.RenderOptions) {
43
+ return 'change'
44
+ }
45
+
46
+ function getItemProps (renderOpts: VxeGlobalRendererHandles.RenderOptions, params: VxeGlobalRendererHandles.RenderFormItemContentParams, value: any, defaultProps?: { [prop: string]: any }) {
47
+ return XEUtils.assign({}, defaultProps, renderOpts.props, { [getModelProp(renderOpts)]: value })
48
+ }
49
+
50
+ function formatText (cellValue: any) {
51
+ return '' + (isEmptyValue(cellValue) ? '' : cellValue)
52
+ }
53
+
54
+ function getOns (renderOpts: VxeGlobalRendererHandles.RenderOptions, params: VxeGlobalRendererHandles.RenderParams, inputFunc?: Function, changeFunc?: Function) {
55
+ const { events } = renderOpts
56
+ const modelEvent = getModelEvent(renderOpts)
57
+ const changeEvent = getChangeEvent(renderOpts)
58
+ const isSameEvent = changeEvent === modelEvent
59
+ const ons: { [type: string]: Function } = {}
60
+ XEUtils.objectEach(events, (func: Function, key: string) => {
61
+ ons[getOnName(key)] = function (...args: any[]) {
62
+ func(params, ...args)
63
+ }
64
+ })
65
+ if (inputFunc) {
66
+ ons[getOnName(modelEvent)] = function (targetEvnt: any) {
67
+ inputFunc(targetEvnt)
68
+ if (events && events[modelEvent]) {
69
+ events[modelEvent](params, targetEvnt)
70
+ }
71
+ if (isSameEvent && changeFunc) {
72
+ changeFunc(targetEvnt)
73
+ }
74
+ }
75
+ }
76
+ if (!isSameEvent && changeFunc) {
77
+ ons[getOnName(changeEvent)] = function (...args: any[]) {
78
+ changeFunc(...args)
79
+ if (events && events[changeEvent]) {
80
+ events[changeEvent](params, ...args)
81
+ }
82
+ }
83
+ }
84
+ return ons
85
+ }
86
+
87
+ function getItemOns (renderOpts: VxeGlobalRendererHandles.RenderFormItemContentOptions, params: VxeGlobalRendererHandles.RenderFormItemContentParams) {
88
+ const { $form, data, field } = params
89
+ return getOns(renderOpts, params, (value: any) => {
90
+ // 处理 model 值双向绑定
91
+ XEUtils.set(data, field, value)
92
+ }, () => {
93
+ // 处理 change 事件相关逻辑
94
+ $form.updateStatus(params)
95
+ if (renderOpts.changeToSubmit) {
96
+ ($form as VxeFormConstructor & VxeFormPrivateMethods).handleSubmitEvent(new Event('change'))
97
+ }
98
+ })
99
+ }
100
+
101
+ function renderOptions (h: CreateElement, options: any[], optionProps: VxeGlobalRendererHandles.RenderOptionProps) {
102
+ const labelProp = optionProps.label || 'label'
103
+ const valueProp = optionProps.value || 'value'
104
+ return XEUtils.map(options, (item, oIndex) => {
105
+ return h('a-select-option', {
106
+ key: oIndex,
107
+ props: {
108
+ value: item[valueProp],
109
+ disabled: item.disabled
110
+ }
111
+ }, item[labelProp])
112
+ })
113
+ }
114
+
115
+ function cellText (cellValue: any): string[] {
116
+ return [formatText(cellValue)]
117
+ }
118
+
119
+ function createFormItemRender (defaultProps?: { [key: string]: any }) {
120
+ return function (h: CreateElement, renderOpts: VxeGlobalRendererHandles.RenderFormItemContentOptions & { name: string }, params: VxeGlobalRendererHandles.RenderFormItemContentParams) {
121
+ const { data, field } = params
122
+ const { name } = renderOpts
123
+ const { attrs } = renderOpts
124
+ const itemValue = XEUtils.get(data, field)
125
+ return [
126
+ h(name, {
127
+ attrs,
128
+ props: getItemProps(renderOpts, params, itemValue, defaultProps),
129
+ on: getItemOns(renderOpts, params)
130
+ })
131
+ ]
132
+ }
133
+ }
134
+
135
+ function defaultButtonItemRender (h: CreateElement, renderOpts: VxeGlobalRendererHandles.RenderFormItemContentOptions, params: VxeGlobalRendererHandles.RenderFormItemContentParams) {
136
+ const { attrs } = renderOpts
137
+ const props = getItemProps(renderOpts, params, null)
138
+ return [
139
+ h('a-button', {
140
+ attrs,
141
+ props,
142
+ on: getItemOns(renderOpts, params),
143
+ scopedSlots: {
144
+ default: () => cellText(renderOpts.content || props.content)
145
+ }
146
+ })
147
+ ]
148
+ }
149
+
150
+ function defaultButtonsItemRender (h: CreateElement, renderOpts: VxeGlobalRendererHandles.RenderFormItemContentOptions, params: VxeGlobalRendererHandles.RenderFormItemContentParams) {
151
+ const { children } = renderOpts
152
+ if (children) {
153
+ return children.map((childRenderOpts: VxeGlobalRendererHandles.RenderFormItemContentOptions) => defaultButtonItemRender(h, childRenderOpts, params)[0])
154
+ }
155
+ return []
156
+ }
157
+
158
+ /**
159
+ *
160
+ * 已废弃
161
+ * @deprecated
162
+ */
163
+ function createOldFormItemRadioAndCheckboxRender () {
164
+ return function (h: CreateElement, renderOpts: VxeGlobalRendererHandles.RenderFormItemContentOptions & { name: string }, params: VxeGlobalRendererHandles.RenderFormItemContentParams) {
165
+ const { name, options = [], optionProps = {} } = renderOpts
166
+ const { data, field } = params
167
+ const { attrs } = renderOpts
168
+ const labelProp = optionProps.label || 'label'
169
+ const valueProp = optionProps.value || 'value'
170
+ const itemValue = XEUtils.get(data, field)
171
+ return [
172
+ h(`${name}Group`, {
173
+ attrs,
174
+ props: getItemProps(renderOpts, params, itemValue),
175
+ on: getItemOns(renderOpts, params),
176
+ scopedSlots: {
177
+ default: () => {
178
+ return options.map((option, oIndex) => {
179
+ return h(name, {
180
+ key: oIndex,
181
+ props: {
182
+ value: option[valueProp],
183
+ disabled: option.disabled
184
+ },
185
+ scopedSlots: {
186
+ default: () => cellText(option[labelProp])
187
+ }
188
+ })
189
+ })
190
+ }
191
+ }
192
+ })
193
+ ]
194
+ }
195
+ }
196
+
197
+ VxeUI.renderer.mixin({
198
+ AAutoComplete: {
199
+ renderFormItemContent: createFormItemRender()
200
+ },
201
+ AInput: {
202
+ renderFormItemContent: createFormItemRender()
203
+ },
204
+ AInputNumber: {
205
+ renderFormItemContent: createFormItemRender()
206
+ },
207
+ ASelect: {
208
+ renderFormItemContent (h, renderOpts, params) {
209
+ const { options = [], optionGroups, optionProps = {}, optionGroupProps = {} } = renderOpts
210
+ const { data, field } = params
211
+ const { attrs } = renderOpts
212
+ const itemValue = XEUtils.get(data, field)
213
+ const props = getItemProps(renderOpts, params, itemValue)
214
+ const ons = getItemOns(renderOpts, params)
215
+ if (optionGroups) {
216
+ const groupOptions = optionGroupProps.options || 'options'
217
+ const groupLabel = optionGroupProps.label || 'label'
218
+ return [
219
+ h('a-select', {
220
+ attrs,
221
+ props: {
222
+ ...props,
223
+ options: undefined
224
+ },
225
+ on: ons
226
+ }, XEUtils.map(optionGroups, (group: any, gIndex: any) => {
227
+ return h('a-select-opt-group', {
228
+ key: gIndex
229
+ }, [
230
+ h('span', {
231
+ slot: 'label'
232
+ }, group[groupLabel])
233
+ ].concat(
234
+ renderOptions(h, group[groupOptions], optionProps)
235
+ ))
236
+ }))
237
+ ]
238
+ }
239
+ return [
240
+ h('a-select', {
241
+ attrs,
242
+ props: {
243
+ ...props,
244
+ options: props.options || options
245
+ },
246
+ on: ons
247
+ })
248
+ ]
249
+ }
250
+ },
251
+ ACascader: {
252
+ renderFormItemContent: createFormItemRender()
253
+ },
254
+ ADatePicker: {
255
+ renderFormItemContent: createFormItemRender()
256
+ },
257
+ AMonthPicker: {
258
+ renderFormItemContent: createFormItemRender()
259
+ },
260
+ ARangePicker: {
261
+ renderFormItemContent: createFormItemRender()
262
+ },
263
+ AWeekPicker: {
264
+ renderFormItemContent: createFormItemRender()
265
+ },
266
+ ATimePicker: {
267
+ renderFormItemContent: createFormItemRender()
268
+ },
269
+ ATreeSelect: {
270
+ renderFormItemContent: createFormItemRender()
271
+ },
272
+ ARate: {
273
+ renderFormItemContent: createFormItemRender()
274
+ },
275
+ ASwitch: {
276
+ renderFormItemContent: createFormItemRender()
277
+ },
278
+ ARadioGroup: {
279
+ renderFormItemContent (h, renderOpts, params) {
280
+ const { options = [], optionProps = {} } = renderOpts
281
+ const { data, field } = params
282
+ const { attrs } = renderOpts
283
+ const labelProp = optionProps.label || 'label'
284
+ const valueProp = optionProps.value || 'value'
285
+ const itemValue = XEUtils.get(data, field)
286
+ return [
287
+ h('a-radio-group', {
288
+ attrs,
289
+ props: getItemProps(renderOpts, params, itemValue),
290
+ on: getItemOns(renderOpts, params),
291
+ scopedSlots: {
292
+ default: () => {
293
+ return options.map((option, oIndex) => {
294
+ return h('a-radio', {
295
+ key: oIndex,
296
+ props: {
297
+ value: option[valueProp],
298
+ disabled: option.disabled
299
+ },
300
+ scopedSlots: {
301
+ default: () => cellText(option[labelProp])
302
+ }
303
+ })
304
+ })
305
+ }
306
+ }
307
+ })
308
+ ]
309
+ }
310
+ },
311
+ ACheckboxGroup: {
312
+ renderFormItemContent (h, renderOpts, params) {
313
+ const { options = [], optionProps = {} } = renderOpts
314
+ const { data, field } = params
315
+ const { attrs } = renderOpts
316
+ const labelProp = optionProps.label || 'label'
317
+ const valueProp = optionProps.value || 'value'
318
+ const itemValue = XEUtils.get(data, field)
319
+ return [
320
+ h('a-checkbox-group', {
321
+ attrs,
322
+ props: getItemProps(renderOpts, params, itemValue),
323
+ on: getItemOns(renderOpts, params),
324
+ scopedSlots: {
325
+ default: () => {
326
+ return options.map((option, oIndex) => {
327
+ return h('a-checkbox', {
328
+ key: oIndex,
329
+ props: {
330
+ value: option[valueProp],
331
+ disabled: option.disabled
332
+ },
333
+ scopedSlots: {
334
+ default: () => cellText(option[labelProp])
335
+ }
336
+ })
337
+ })
338
+ }
339
+ }
340
+ })
341
+ ]
342
+ }
343
+ },
344
+ AButton: {
345
+ renderFormItemContent: defaultButtonItemRender
346
+ },
347
+
348
+ // 已废弃
349
+ ARadio: {
350
+ renderFormItemContent: createOldFormItemRadioAndCheckboxRender()
351
+ },
352
+ ACheckbox: {
353
+ renderFormItemContent: createOldFormItemRadioAndCheckboxRender()
354
+ },
355
+ AButtons: {
356
+ renderFormItemContent: defaultButtonsItemRender
357
+ }
358
+ })
359
+ }