@vxe-ui/plugin-render-antd 3.0.0 → 3.0.2

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/LICENSE CHANGED
@@ -1,21 +1,21 @@
1
- MIT License
2
-
3
- Copyright (c) 2019 Xu Liangzhan
4
-
5
- Permission is hereby granted, free of charge, to any person obtaining a copy
6
- of this software and associated documentation files (the "Software"), to deal
7
- in the Software without restriction, including without limitation the rights
8
- to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
- copies of the Software, and to permit persons to whom the Software is
10
- furnished to do so, subject to the following conditions:
11
-
12
- The above copyright notice and this permission notice shall be included in all
13
- copies or substantial portions of the Software.
14
-
15
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
- AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
- LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
1
+ MIT License
2
+
3
+ Copyright (c) 2019 Xu Liangzhan
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
21
  SOFTWARE.
package/README.md CHANGED
@@ -1,151 +1,151 @@
1
- # @vxe-ui/plugin-render-antd
2
-
3
- [Vxe UI](https://vxeui.com/) plug-in for compatibility with the [ant-design-vue](https://www.npmjs.com/package/ant-design-vue) component.
4
-
5
- ## Compatibility
6
-
7
- It corresponds to [vxe-table v3](https://www.npmjs.com/package/vxe-table) or [vxe-pc-ui v3](https://www.npmjs.com/package/vxe-pc-ui)
8
-
9
- ## Installing
10
-
11
- ```shell
12
- npm install @vxe-ui/plugin-render-antd
13
- ```
14
-
15
- ```javascript
16
- // ...
17
- // Use vxe-pc-ui
18
- import { VxeUI } from 'vxe-pc-ui'
19
- // Use vxe-table
20
- // import { VxeUI } from 'vxe-table'
21
- import VxeUIPluginRenderAntd from '@vxe-ui/plugin-render-antd'
22
- import '@vxe-ui/plugin-render-antd/dist/style.css'
23
- // ...
24
-
25
- VxeUI.use(VxeUIPluginRenderAntd)
26
- ```
27
-
28
-
29
- ## API
30
-
31
- ### cell-render 默认的渲染器配置项说明
32
-
33
- | 属性 | 描述 | 类型 | 可选值 | 默认值 |
34
- |------|------|-----|-----|-----|
35
- | name | 支持的渲染组件 | String | AInput, AAutocomplete, AInputNumber, ASwitch, ARate, AButton, AButtons | — |
36
- | props | 渲染组件附加属性,参数请查看被渲染的 Component props | Object | — | {} |
37
- | options | 只对 name=ASelect 有效,下拉组件选项列表 | Array | — | [] |
38
- | optionProps | 只对 name=ASelect 有效,下拉组件选项属性参数配置 | Object | — | { value: 'value', label: 'label' } |
39
- | optionGroups | 只对 name=ASelect 有效,下拉组件分组选项列表 | Array | — | [] |
40
- | optionGroupProps | 只对 name=ASelect 有效,下拉组件分组选项属性参数配置 | Object | — | { options: 'options', label: 'label' } |
41
- | events | 渲染组件附加事件,参数为 ( {row,rowIndex,column,columnIndex}, ...Component arguments ) | Object | — | — |
42
-
43
- ### edit-render 可编辑渲染器配置项说明
44
-
45
- | 属性 | 描述 | 类型 | 可选值 | 默认值 |
46
- |------|------|-----|-----|-----|
47
- | name | 支持的渲染组件 | String | AInput, AAutocomplete, AInputNumber, ASelect, ACascader, ADatePicker, AMonthPicker, ARangePicker, AWeekPicker, ATimePicker, ATreeSelect, ASwitch, ARate, AButton, AButtons | — |
48
- | props | 渲染组件附加属性,参数请查看被渲染的 Component props | Object | — | {} |
49
- | options | 只对 name=ASelect 有效,下拉组件选项列表 | Array | — | [] |
50
- | optionProps | 只对 name=ASelect 有效,下拉组件选项属性参数配置 | Object | — | { value: 'value', label: 'label' } |
51
- | optionGroups | 只对 name=ASelect 有效,下拉组件分组选项列表 | Array | — | [] |
52
- | optionGroupProps | 只对 name=ASelect 有效,下拉组件分组选项属性参数配置 | Object | — | { options: 'options', label: 'label' } |
53
- | events | 渲染组件附加事件,参数为 ( {row,rowIndex,column,columnIndex}, ...Component arguments ) | Object | — | — |
54
-
55
- ### filter-render 筛选渲染器配置项说明
56
-
57
- | 属性 | 描述 | 类型 | 可选值 | 默认值 |
58
- |------|------|-----|-----|-----|
59
- | name | 支持的渲染组件 | String | AInput, AAutocomplete, AInputNumber, ASelect, ASwitch, ARate | — |
60
- | props | 渲染组件附加属性,参数请查看被渲染的 Component props | Object | — | {} |
61
- | options | 只对 name=ASelect 有效,下拉组件选项列表 | Array | — | [] |
62
- | optionProps | 只对 name=ASelect 有效,下拉组件选项属性参数配置 | Object | — | { value: 'value', label: 'label' } |
63
- | optionGroups | 只对 name=ASelect 有效,下拉组件分组选项列表 | Array | — | [] |
64
- | optionGroupProps | 只对 name=ASelect 有效,下拉组件分组选项属性参数配置 | Object | — | { options: 'options', label: 'label' } |
65
- | events | 渲染组件附加事件,参数为 ( {}, ...Component arguments ) | Object | — | — |
66
-
67
- ### item-render 表单-项选渲染器配置项说明
68
-
69
- | 属性 | 描述 | 类型 | 可选值 | 默认值 |
70
- |------|------|-----|-----|-----|
71
- | name | 支持的渲染组件 | String | AInput, AAutocomplete, AInputNumber, ASelect, ASwitch, ARate, ARadio, ACheckbox, AButton, AButtons | — |
72
- | props | 渲染组件附加属性,参数请查看被渲染的 Component props | Object | — | {} |
73
- | options | 只对 name=ASelect 有效,下拉组件选项列表 | Array | — | [] |
74
- | optionProps | 只对 name=ASelect 有效,下拉组件选项属性参数配置 | Object | — | { value: 'value', label: 'label' } |
75
- | optionGroups | 只对 name=ASelect 有效,下拉组件分组选项列表 | Array | — | [] |
76
- | optionGroupProps | 只对 name=ASelect 有效,下拉组件分组选项属性参数配置 | Object | — | { options: 'options', label: 'label' } |
77
- | events | 渲染组件附加事件,参数为 ( {}, ...Component arguments ) | Object | — | — |
78
-
79
- ### 表单设计器配置项
80
-
81
- | 描述 |
82
- |------|
83
- | 'AInputWidget', 'ATextareaWidget', 'ANumberInputWidget', 'ADatePickerWidget', 'ASelectWidget', 'ARadioWidget', 'ACheckboxWidget', 'ASwitchWidget' |
84
-
85
- ## Cell demo
86
-
87
- ```html
88
- <vxe-table
89
- height="600"
90
- :data="tableData"
91
- :edit-config="{trigger: 'click', mode: 'cell'}">
92
- <vxe-column field="name" title="Name" :edit-render="{name: 'AInput'}"></vxe-column>
93
- <vxe-column field="age" title="Age" :edit-render="{name: 'AInputNumber'}"></vxe-column>
94
- <vxe-column field="date" title="Date" width="200" :edit-render="{name: 'ADatePicker'}"></vxe-column>
95
- </vxe-table>
96
- ```
97
-
98
- ```javascript
99
- export default {
100
- data () {
101
- return {
102
- tableData: [
103
- { id: 100, name: 'test0', age: 28, sex: '1', date: '' },
104
- { id: 101, name: 'test1', age: 32, sex: '0', date: '' },
105
- { id: 102, name: 'test2', age: 36, sex: '1', date: '' }
106
- ]
107
- }
108
- }
109
- }
110
- ```
111
-
112
- ## Filter demo
113
-
114
- ```html
115
- <vxe-table
116
- height="600"
117
- :data="tableData">
118
- <vxe-column field="name" title="Name":filters="nameOptions" :filter-render="{name: 'AInput'}"></vxe-column>
119
- <vxe-column field="age" title="Age"></vxe-column>
120
- <vxe-column field="date" title="Date" ></vxe-column>
121
- </vxe-table>
122
- ```
123
-
124
- ```javascript
125
- import { defineComponent } from 'vue'
126
-
127
- export default defineComponent({
128
- setup () {
129
- return {
130
- nameOptions: [
131
- { data: '' }
132
- ],
133
- tableData: [
134
- { id: 100, name: 'test0', age: 28, date: '' },
135
- { id: 101, name: 'test1', age: 32, date: '' },
136
- { id: 102, name: 'test2', age: 36, date: '' }
137
- ]
138
- }
139
- }
140
- })
141
- ```
142
-
143
- ## Contributors
144
-
145
- Thank you to everyone who contributed to this project.
146
-
147
- [![vxe-ui-plugins](https://contrib.rocks/image?repo=x-extends/vxe-ui-plugins)](https://github.com/x-extends/vxe-ui-plugins/graphs/contributors)
148
-
149
- ## License
150
-
151
- [MIT](LICENSE) © 2019-present, Xu Liangzhan
1
+ # @vxe-ui/plugin-render-antd
2
+
3
+ [Vxe UI](https://vxeui.com/) plug-in for compatibility with the [ant-design-vue](https://www.npmjs.com/package/ant-design-vue) component.
4
+
5
+ ## Compatibility
6
+
7
+ It corresponds to [vxe-table v3](https://www.npmjs.com/package/vxe-table) or [vxe-pc-ui v3](https://www.npmjs.com/package/vxe-pc-ui)
8
+
9
+ ## Installing
10
+
11
+ ```shell
12
+ npm install @vxe-ui/plugin-render-antd
13
+ ```
14
+
15
+ ```javascript
16
+ // ...
17
+ // Use vxe-pc-ui
18
+ import { VxeUI } from 'vxe-pc-ui'
19
+ // Use vxe-table
20
+ // import { VxeUI } from 'vxe-table'
21
+ import VxeUIPluginRenderAntd from '@vxe-ui/plugin-render-antd'
22
+ import '@vxe-ui/plugin-render-antd/dist/style.css'
23
+ // ...
24
+
25
+ VxeUI.use(VxeUIPluginRenderAntd)
26
+ ```
27
+
28
+
29
+ ## API
30
+
31
+ ### cell-render 默认的渲染器配置项说明
32
+
33
+ | 属性 | 描述 | 类型 | 可选值 | 默认值 |
34
+ |------|------|-----|-----|-----|
35
+ | name | 支持的渲染组件 | String | AInput, AAutocomplete, AInputNumber, ASwitch, ARate, AButton, AButtons | — |
36
+ | props | 渲染组件附加属性,参数请查看被渲染的 Component props | Object | — | {} |
37
+ | options | 只对 name=ASelect 有效,下拉组件选项列表 | Array | — | [] |
38
+ | optionProps | 只对 name=ASelect 有效,下拉组件选项属性参数配置 | Object | — | { value: 'value', label: 'label' } |
39
+ | optionGroups | 只对 name=ASelect 有效,下拉组件分组选项列表 | Array | — | [] |
40
+ | optionGroupProps | 只对 name=ASelect 有效,下拉组件分组选项属性参数配置 | Object | — | { options: 'options', label: 'label' } |
41
+ | events | 渲染组件附加事件,参数为 ( {row,rowIndex,column,columnIndex}, ...Component arguments ) | Object | — | — |
42
+
43
+ ### edit-render 可编辑渲染器配置项说明
44
+
45
+ | 属性 | 描述 | 类型 | 可选值 | 默认值 |
46
+ |------|------|-----|-----|-----|
47
+ | name | 支持的渲染组件 | String | AInput, AAutocomplete, AInputNumber, ASelect, ACascader, ADatePicker, AMonthPicker, ARangePicker, AWeekPicker, ATimePicker, ATreeSelect, ASwitch, ARate, AButton, AButtons | — |
48
+ | props | 渲染组件附加属性,参数请查看被渲染的 Component props | Object | — | {} |
49
+ | options | 只对 name=ASelect 有效,下拉组件选项列表 | Array | — | [] |
50
+ | optionProps | 只对 name=ASelect 有效,下拉组件选项属性参数配置 | Object | — | { value: 'value', label: 'label' } |
51
+ | optionGroups | 只对 name=ASelect 有效,下拉组件分组选项列表 | Array | — | [] |
52
+ | optionGroupProps | 只对 name=ASelect 有效,下拉组件分组选项属性参数配置 | Object | — | { options: 'options', label: 'label' } |
53
+ | events | 渲染组件附加事件,参数为 ( {row,rowIndex,column,columnIndex}, ...Component arguments ) | Object | — | — |
54
+
55
+ ### filter-render 筛选渲染器配置项说明
56
+
57
+ | 属性 | 描述 | 类型 | 可选值 | 默认值 |
58
+ |------|------|-----|-----|-----|
59
+ | name | 支持的渲染组件 | String | AInput, AAutocomplete, AInputNumber, ASelect, ASwitch, ARate | — |
60
+ | props | 渲染组件附加属性,参数请查看被渲染的 Component props | Object | — | {} |
61
+ | options | 只对 name=ASelect 有效,下拉组件选项列表 | Array | — | [] |
62
+ | optionProps | 只对 name=ASelect 有效,下拉组件选项属性参数配置 | Object | — | { value: 'value', label: 'label' } |
63
+ | optionGroups | 只对 name=ASelect 有效,下拉组件分组选项列表 | Array | — | [] |
64
+ | optionGroupProps | 只对 name=ASelect 有效,下拉组件分组选项属性参数配置 | Object | — | { options: 'options', label: 'label' } |
65
+ | events | 渲染组件附加事件,参数为 ( {}, ...Component arguments ) | Object | — | — |
66
+
67
+ ### item-render 表单-项选渲染器配置项说明
68
+
69
+ | 属性 | 描述 | 类型 | 可选值 | 默认值 |
70
+ |------|------|-----|-----|-----|
71
+ | name | 支持的渲染组件 | String | AInput, AAutocomplete, AInputNumber, ASelect, ASwitch, ARate, ARadio, ACheckbox, AButton, AButtons | — |
72
+ | props | 渲染组件附加属性,参数请查看被渲染的 Component props | Object | — | {} |
73
+ | options | 只对 name=ASelect 有效,下拉组件选项列表 | Array | — | [] |
74
+ | optionProps | 只对 name=ASelect 有效,下拉组件选项属性参数配置 | Object | — | { value: 'value', label: 'label' } |
75
+ | optionGroups | 只对 name=ASelect 有效,下拉组件分组选项列表 | Array | — | [] |
76
+ | optionGroupProps | 只对 name=ASelect 有效,下拉组件分组选项属性参数配置 | Object | — | { options: 'options', label: 'label' } |
77
+ | events | 渲染组件附加事件,参数为 ( {}, ...Component arguments ) | Object | — | — |
78
+
79
+ ### 表单设计器配置项
80
+
81
+ | 描述 |
82
+ |------|
83
+ | 'AInputWidget', 'ATextareaWidget', 'ANumberInputWidget', 'ADatePickerWidget', 'ASelectWidget', 'ARadioWidget', 'ACheckboxWidget', 'ASwitchWidget' |
84
+
85
+ ## Cell demo
86
+
87
+ ```html
88
+ <vxe-table
89
+ height="600"
90
+ :data="tableData"
91
+ :edit-config="{trigger: 'click', mode: 'cell'}">
92
+ <vxe-column field="name" title="Name" :edit-render="{name: 'AInput'}"></vxe-column>
93
+ <vxe-column field="age" title="Age" :edit-render="{name: 'AInputNumber'}"></vxe-column>
94
+ <vxe-column field="date" title="Date" width="200" :edit-render="{name: 'ADatePicker'}"></vxe-column>
95
+ </vxe-table>
96
+ ```
97
+
98
+ ```javascript
99
+ export default {
100
+ data () {
101
+ return {
102
+ tableData: [
103
+ { id: 100, name: 'test0', age: 28, sex: '1', date: '' },
104
+ { id: 101, name: 'test1', age: 32, sex: '0', date: '' },
105
+ { id: 102, name: 'test2', age: 36, sex: '1', date: '' }
106
+ ]
107
+ }
108
+ }
109
+ }
110
+ ```
111
+
112
+ ## Filter demo
113
+
114
+ ```html
115
+ <vxe-table
116
+ height="600"
117
+ :data="tableData">
118
+ <vxe-column field="name" title="Name":filters="nameOptions" :filter-render="{name: 'AInput'}"></vxe-column>
119
+ <vxe-column field="age" title="Age"></vxe-column>
120
+ <vxe-column field="date" title="Date" ></vxe-column>
121
+ </vxe-table>
122
+ ```
123
+
124
+ ```javascript
125
+ import { defineComponent } from 'vue'
126
+
127
+ export default defineComponent({
128
+ setup () {
129
+ return {
130
+ nameOptions: [
131
+ { data: '' }
132
+ ],
133
+ tableData: [
134
+ { id: 100, name: 'test0', age: 28, date: '' },
135
+ { id: 101, name: 'test1', age: 32, date: '' },
136
+ { id: 102, name: 'test2', age: 36, date: '' }
137
+ ]
138
+ }
139
+ }
140
+ })
141
+ ```
142
+
143
+ ## Contributors
144
+
145
+ Thank you to everyone who contributed to this project.
146
+
147
+ [![vxe-ui-plugins](https://contrib.rocks/image?repo=x-extends/vxe-ui-plugins)](https://github.com/x-extends/vxe-ui-plugins/graphs/contributors)
148
+
149
+ ## License
150
+
151
+ [MIT](LICENSE) © 2019-present, Xu Liangzhan
@@ -21,7 +21,7 @@ function defineFormRender(VxeUI) {
21
21
  return cellValue === null || cellValue === undefined || cellValue === '';
22
22
  }
23
23
  function getOnName(type) {
24
- return type;
24
+ return _xeUtils["default"].kebabCase(type);
25
25
  }
26
26
  function getModelProp(renderOpts) {
27
27
  var prop = 'value';
@@ -104,6 +104,19 @@ function defineFormRender(VxeUI) {
104
104
  $form.updateStatus(params);
105
105
  });
106
106
  }
107
+ function renderOptions(h, options, optionProps) {
108
+ var labelProp = optionProps.label || 'label';
109
+ var valueProp = optionProps.value || 'value';
110
+ return _xeUtils["default"].map(options, function (item, oIndex) {
111
+ return h('a-select-option', {
112
+ key: oIndex,
113
+ props: {
114
+ value: item[valueProp],
115
+ disabled: item.disabled
116
+ }
117
+ }, item[labelProp]);
118
+ });
119
+ }
107
120
  function cellText(cellValue) {
108
121
  return [formatText(cellValue)];
109
122
  }
@@ -201,7 +214,11 @@ function defineFormRender(VxeUI) {
201
214
  renderFormItemContent: function renderFormItemContent(h, renderOpts, params) {
202
215
  var _renderOpts$options2 = renderOpts.options,
203
216
  options = _renderOpts$options2 === void 0 ? [] : _renderOpts$options2,
204
- optionGroups = renderOpts.optionGroups;
217
+ optionGroups = renderOpts.optionGroups,
218
+ _renderOpts$optionPro2 = renderOpts.optionProps,
219
+ optionProps = _renderOpts$optionPro2 === void 0 ? {} : _renderOpts$optionPro2,
220
+ _renderOpts$optionGro = renderOpts.optionGroupProps,
221
+ optionGroupProps = _renderOpts$optionGro === void 0 ? {} : _renderOpts$optionGro;
205
222
  var data = params.data,
206
223
  field = params.field;
207
224
  var attrs = renderOpts.attrs;
@@ -209,12 +226,21 @@ function defineFormRender(VxeUI) {
209
226
  var props = getItemProps(renderOpts, params, itemValue);
210
227
  var ons = getItemOns(renderOpts, params);
211
228
  if (optionGroups) {
212
- return [h('a-select', _objectSpread({
229
+ var groupOptions = optionGroupProps.options || 'options';
230
+ var groupLabel = optionGroupProps.label || 'label';
231
+ return [h('a-select', {
213
232
  attrs: attrs,
214
233
  props: _objectSpread(_objectSpread({}, props), {}, {
215
- options: optionGroups
216
- })
217
- }, ons))];
234
+ options: undefined
235
+ }),
236
+ on: ons
237
+ }, _xeUtils["default"].map(optionGroups, function (group, gIndex) {
238
+ return h('a-select-opt-group', {
239
+ key: gIndex
240
+ }, [h('span', {
241
+ slot: 'label'
242
+ }, group[groupLabel])].concat(renderOptions(h, group[groupOptions], optionProps)));
243
+ }))];
218
244
  }
219
245
  return [h('a-select', {
220
246
  attrs: attrs,
@@ -256,8 +282,8 @@ function defineFormRender(VxeUI) {
256
282
  renderFormItemContent: function renderFormItemContent(h, renderOpts, params) {
257
283
  var _renderOpts$options3 = renderOpts.options,
258
284
  options = _renderOpts$options3 === void 0 ? [] : _renderOpts$options3,
259
- _renderOpts$optionPro2 = renderOpts.optionProps,
260
- optionProps = _renderOpts$optionPro2 === void 0 ? {} : _renderOpts$optionPro2;
285
+ _renderOpts$optionPro3 = renderOpts.optionProps,
286
+ optionProps = _renderOpts$optionPro3 === void 0 ? {} : _renderOpts$optionPro3;
261
287
  var data = params.data,
262
288
  field = params.field;
263
289
  var attrs = renderOpts.attrs;
@@ -293,8 +319,8 @@ function defineFormRender(VxeUI) {
293
319
  renderFormItemContent: function renderFormItemContent(h, renderOpts, params) {
294
320
  var _renderOpts$options4 = renderOpts.options,
295
321
  options = _renderOpts$options4 === void 0 ? [] : _renderOpts$options4,
296
- _renderOpts$optionPro3 = renderOpts.optionProps,
297
- optionProps = _renderOpts$optionPro3 === void 0 ? {} : _renderOpts$optionPro3;
322
+ _renderOpts$optionPro4 = renderOpts.optionProps,
323
+ optionProps = _renderOpts$optionPro4 === void 0 ? {} : _renderOpts$optionPro4;
298
324
  var data = params.data,
299
325
  field = params.field;
300
326
  var attrs = renderOpts.attrs;
@@ -394,7 +420,7 @@ var VxeUIPluginRenderAntd = exports.VxeUIPluginRenderAntd = {
394
420
  install: function install(VxeUI, options) {
395
421
  // 检查版本
396
422
  if (!/^(3)\./.test(VxeUI.uiVersion)) {
397
- console.error('[plugin-render-antd 3.x] Version 3.x is required');
423
+ console.error('[@vxe-ui/plugin-render-antd 3.0.2] Requires vxe-table 3.9.0+ version. https://vxeui.com/other3/#/plugin-export-xlsx/install');
398
424
  }
399
425
  (0, _table.defineTableRender)(VxeUI);
400
426
  (0, _form.defineFormRender)(VxeUI);
@@ -432,7 +458,7 @@ function defineTableRender(VxeUI) {
432
458
  return cellValue === null || cellValue === undefined || cellValue === '';
433
459
  }
434
460
  function getOnName(type) {
435
- return type;
461
+ return _xeUtils["default"].kebabCase(type);
436
462
  }
437
463
  function getModelProp(renderOpts) {
438
464
  var prop = 'value';
@@ -761,6 +787,19 @@ function defineTableRender(VxeUI) {
761
787
  /* eslint-disable eqeqeq */
762
788
  return cellValue === data;
763
789
  }
790
+ function renderOptions(h, options, optionProps) {
791
+ var labelProp = optionProps.label || 'label';
792
+ var valueProp = optionProps.value || 'value';
793
+ return _xeUtils["default"].map(options, function (item, oIndex) {
794
+ return h('a-select-option', {
795
+ key: oIndex,
796
+ props: {
797
+ value: item[valueProp],
798
+ disabled: item.disabled
799
+ }
800
+ }, item[labelProp]);
801
+ });
802
+ }
764
803
  function cellText(cellValue) {
765
804
  return [formatText(cellValue)];
766
805
  }
@@ -804,8 +843,13 @@ function defineTableRender(VxeUI) {
804
843
  },
805
844
  ASelect: {
806
845
  renderTableEdit: function renderTableEdit(h, renderOpts, params) {
807
- var options = renderOpts.options,
808
- optionGroups = renderOpts.optionGroups;
846
+ var _renderOpts$options2 = renderOpts.options,
847
+ options = _renderOpts$options2 === void 0 ? [] : _renderOpts$options2,
848
+ optionGroups = renderOpts.optionGroups,
849
+ _renderOpts$optionPro2 = renderOpts.optionProps,
850
+ optionProps = _renderOpts$optionPro2 === void 0 ? {} : _renderOpts$optionPro2,
851
+ _renderOpts$optionGro2 = renderOpts.optionGroupProps,
852
+ optionGroupProps = _renderOpts$optionGro2 === void 0 ? {} : _renderOpts$optionGro2;
809
853
  var row = params.row,
810
854
  column = params.column;
811
855
  var attrs = renderOpts.attrs;
@@ -813,13 +857,21 @@ function defineTableRender(VxeUI) {
813
857
  var props = getCellEditFilterProps(renderOpts, params, cellValue);
814
858
  var ons = getEditOns(renderOpts, params);
815
859
  if (optionGroups) {
860
+ var groupOptions = optionGroupProps.options || 'options';
861
+ var groupLabel = optionGroupProps.label || 'label';
816
862
  return [h('a-select', {
817
863
  attrs: attrs,
818
864
  props: _objectSpread(_objectSpread({}, props), {}, {
819
- options: optionGroups
865
+ options: undefined
820
866
  }),
821
867
  on: ons
822
- })];
868
+ }, _xeUtils["default"].map(optionGroups, function (group, gIndex) {
869
+ return h('a-select-opt-group', {
870
+ key: gIndex
871
+ }, [h('span', {
872
+ slot: 'label'
873
+ }, group[groupLabel])].concat(renderOptions(h, group[groupOptions], optionProps)));
874
+ }))];
823
875
  }
824
876
  return [h('a-select', {
825
877
  attrs: attrs,
@@ -833,11 +885,11 @@ function defineTableRender(VxeUI) {
833
885
  return getCellLabelVNs(h, renderOpts, params, getSelectCellValue(renderOpts, params));
834
886
  },
835
887
  renderTableFilter: function renderTableFilter(h, renderOpts, params) {
836
- var _renderOpts$options2 = renderOpts.options,
837
- options = _renderOpts$options2 === void 0 ? [] : _renderOpts$options2,
888
+ var _renderOpts$options3 = renderOpts.options,
889
+ options = _renderOpts$options3 === void 0 ? [] : _renderOpts$options3,
838
890
  optionGroups = renderOpts.optionGroups,
839
- _renderOpts$optionGro2 = renderOpts.optionGroupProps,
840
- optionGroupProps = _renderOpts$optionGro2 === void 0 ? {} : _renderOpts$optionGro2;
891
+ _renderOpts$optionGro3 = renderOpts.optionGroupProps,
892
+ optionGroupProps = _renderOpts$optionGro3 === void 0 ? {} : _renderOpts$optionGro3;
841
893
  var groupOptions = optionGroupProps.options || 'options';
842
894
  var column = params.column;
843
895
  var attrs = renderOpts.attrs;
@@ -20,7 +20,7 @@ function defineFormRender(VxeUI) {
20
20
  return cellValue === null || cellValue === undefined || cellValue === '';
21
21
  }
22
22
  function getOnName(type) {
23
- return type;
23
+ return _xeUtils["default"].kebabCase(type);
24
24
  }
25
25
  function getModelProp(renderOpts) {
26
26
  var prop = 'value';
@@ -103,6 +103,19 @@ function defineFormRender(VxeUI) {
103
103
  $form.updateStatus(params);
104
104
  });
105
105
  }
106
+ function renderOptions(h, options, optionProps) {
107
+ var labelProp = optionProps.label || 'label';
108
+ var valueProp = optionProps.value || 'value';
109
+ return _xeUtils["default"].map(options, function (item, oIndex) {
110
+ return h('a-select-option', {
111
+ key: oIndex,
112
+ props: {
113
+ value: item[valueProp],
114
+ disabled: item.disabled
115
+ }
116
+ }, item[labelProp]);
117
+ });
118
+ }
106
119
  function cellText(cellValue) {
107
120
  return [formatText(cellValue)];
108
121
  }
@@ -200,7 +213,11 @@ function defineFormRender(VxeUI) {
200
213
  renderFormItemContent: function renderFormItemContent(h, renderOpts, params) {
201
214
  var _renderOpts$options2 = renderOpts.options,
202
215
  options = _renderOpts$options2 === void 0 ? [] : _renderOpts$options2,
203
- optionGroups = renderOpts.optionGroups;
216
+ optionGroups = renderOpts.optionGroups,
217
+ _renderOpts$optionPro2 = renderOpts.optionProps,
218
+ optionProps = _renderOpts$optionPro2 === void 0 ? {} : _renderOpts$optionPro2,
219
+ _renderOpts$optionGro = renderOpts.optionGroupProps,
220
+ optionGroupProps = _renderOpts$optionGro === void 0 ? {} : _renderOpts$optionGro;
204
221
  var data = params.data,
205
222
  field = params.field;
206
223
  var attrs = renderOpts.attrs;
@@ -208,12 +225,21 @@ function defineFormRender(VxeUI) {
208
225
  var props = getItemProps(renderOpts, params, itemValue);
209
226
  var ons = getItemOns(renderOpts, params);
210
227
  if (optionGroups) {
211
- return [h('a-select', _objectSpread({
228
+ var groupOptions = optionGroupProps.options || 'options';
229
+ var groupLabel = optionGroupProps.label || 'label';
230
+ return [h('a-select', {
212
231
  attrs: attrs,
213
232
  props: _objectSpread(_objectSpread({}, props), {}, {
214
- options: optionGroups
215
- })
216
- }, ons))];
233
+ options: undefined
234
+ }),
235
+ on: ons
236
+ }, _xeUtils["default"].map(optionGroups, function (group, gIndex) {
237
+ return h('a-select-opt-group', {
238
+ key: gIndex
239
+ }, [h('span', {
240
+ slot: 'label'
241
+ }, group[groupLabel])].concat(renderOptions(h, group[groupOptions], optionProps)));
242
+ }))];
217
243
  }
218
244
  return [h('a-select', {
219
245
  attrs: attrs,
@@ -255,8 +281,8 @@ function defineFormRender(VxeUI) {
255
281
  renderFormItemContent: function renderFormItemContent(h, renderOpts, params) {
256
282
  var _renderOpts$options3 = renderOpts.options,
257
283
  options = _renderOpts$options3 === void 0 ? [] : _renderOpts$options3,
258
- _renderOpts$optionPro2 = renderOpts.optionProps,
259
- optionProps = _renderOpts$optionPro2 === void 0 ? {} : _renderOpts$optionPro2;
284
+ _renderOpts$optionPro3 = renderOpts.optionProps,
285
+ optionProps = _renderOpts$optionPro3 === void 0 ? {} : _renderOpts$optionPro3;
260
286
  var data = params.data,
261
287
  field = params.field;
262
288
  var attrs = renderOpts.attrs;
@@ -292,8 +318,8 @@ function defineFormRender(VxeUI) {
292
318
  renderFormItemContent: function renderFormItemContent(h, renderOpts, params) {
293
319
  var _renderOpts$options4 = renderOpts.options,
294
320
  options = _renderOpts$options4 === void 0 ? [] : _renderOpts$options4,
295
- _renderOpts$optionPro3 = renderOpts.optionProps,
296
- optionProps = _renderOpts$optionPro3 === void 0 ? {} : _renderOpts$optionPro3;
321
+ _renderOpts$optionPro4 = renderOpts.optionProps,
322
+ optionProps = _renderOpts$optionPro4 === void 0 ? {} : _renderOpts$optionPro4;
297
323
  var data = params.data,
298
324
  field = params.field;
299
325
  var attrs = renderOpts.attrs;
@@ -50,7 +50,7 @@ var VxeUIPluginRenderAntd = exports.VxeUIPluginRenderAntd = {
50
50
  install: function install(VxeUI, options) {
51
51
  // 检查版本
52
52
  if (!/^(3)\./.test(VxeUI.uiVersion)) {
53
- console.error('[plugin-render-antd 3.x] Version 3.x is required');
53
+ console.error('[@vxe-ui/plugin-render-antd 3.0.2] Requires vxe-table 3.9.0+ version. https://vxeui.com/other3/#/plugin-export-xlsx/install');
54
54
  }
55
55
  (0, _table.defineTableRender)(VxeUI);
56
56
  (0, _form.defineFormRender)(VxeUI);
package/dist/index.js CHANGED
@@ -50,7 +50,7 @@ var VxeUIPluginRenderAntd = exports.VxeUIPluginRenderAntd = {
50
50
  install: function install(VxeUI, options) {
51
51
  // 检查版本
52
52
  if (!/^(3)\./.test(VxeUI.uiVersion)) {
53
- console.error('[plugin-render-antd 3.x] Version 3.x is required');
53
+ console.error('[@vxe-ui/plugin-render-antd 3.0.2] Requires vxe-table 3.9.0+ version. https://vxeui.com/other3/#/plugin-export-xlsx/install');
54
54
  }
55
55
  (0, _table.defineTableRender)(VxeUI);
56
56
  (0, _form.defineFormRender)(VxeUI);