vxe-table 4.23.8 → 4.23.9

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 (126) hide show
  1. package/dist/all.esm.js +5715 -3783
  2. package/es/components.d.ts +1 -0
  3. package/es/components.js +2 -7
  4. package/es/grid/src/emits.js +1 -15
  5. package/es/grid/src/grid.js +397 -120
  6. package/es/index.esm.js +1 -0
  7. package/es/index.js +1 -0
  8. package/es/table/module/custom/hook.js +49 -42
  9. package/es/table/module/custom/panel.js +777 -527
  10. package/es/table/module/edit/hook.js +140 -62
  11. package/es/table/module/export/export-panel.js +399 -316
  12. package/es/table/module/export/hook.js +395 -337
  13. package/es/table/module/export/import-panel.js +152 -123
  14. package/es/table/module/filter/hook.js +16 -2
  15. package/es/table/module/filter/panel.js +146 -84
  16. package/es/table/module/keyboard/hook.js +8 -4
  17. package/es/table/module/menu/panel.js +197 -126
  18. package/es/table/render/index.js +151 -98
  19. package/es/table/src/body.js +355 -233
  20. package/es/table/src/cell.js +426 -269
  21. package/es/table/src/columnInfo.js +1 -0
  22. package/es/table/src/footer.js +144 -99
  23. package/es/table/src/group.js +7 -3
  24. package/es/table/src/header.js +229 -172
  25. package/es/table/src/table.js +1503 -1030
  26. package/es/table/src/util.js +15 -19
  27. package/es/toolbar/src/toolbar.js +132 -75
  28. package/es/ui/index.js +1 -1
  29. package/es/ui/src/dom.js +9 -6
  30. package/es/ui/src/log.js +1 -1
  31. package/es/ui/src/utils.d.ts +1 -1
  32. package/lib/components.js +2 -7
  33. package/lib/grid/src/emits.js +1 -15
  34. package/lib/grid/src/grid.js +397 -120
  35. package/lib/index.common.js +1 -0
  36. package/lib/index.js +1 -0
  37. package/lib/index.umd.js +5732 -3800
  38. package/lib/index.umd.min.js +3 -3
  39. package/lib/table/module/custom/hook.js +49 -42
  40. package/lib/table/module/custom/panel.js +777 -527
  41. package/lib/table/module/edit/hook.js +140 -62
  42. package/lib/table/module/export/export-panel.js +399 -316
  43. package/lib/table/module/export/hook.js +395 -337
  44. package/lib/table/module/export/import-panel.js +152 -123
  45. package/lib/table/module/filter/hook.js +16 -2
  46. package/lib/table/module/filter/panel.js +146 -84
  47. package/lib/table/module/keyboard/hook.js +8 -4
  48. package/lib/table/module/menu/panel.js +197 -126
  49. package/lib/table/render/index.js +151 -98
  50. package/lib/table/src/body.js +355 -233
  51. package/lib/table/src/cell.js +426 -269
  52. package/lib/table/src/columnInfo.js +1 -0
  53. package/lib/table/src/footer.js +144 -99
  54. package/lib/table/src/group.js +7 -3
  55. package/lib/table/src/header.js +229 -172
  56. package/lib/table/src/table.js +1471 -1029
  57. package/lib/table/src/util.js +15 -19
  58. package/lib/toolbar/src/toolbar.js +132 -75
  59. package/lib/ui/index.js +1 -1
  60. package/lib/ui/src/dom.js +9 -6
  61. package/lib/ui/src/log.js +1 -1
  62. package/package.json +2 -2
  63. package/packages/colgroup/index.ts +22 -22
  64. package/packages/column/index.ts +22 -22
  65. package/packages/components.ts +41 -44
  66. package/packages/grid/index.ts +18 -18
  67. package/packages/grid/src/emits.ts +5 -19
  68. package/packages/grid/src/grid.ts +2229 -1925
  69. package/packages/grid/src/props.ts +22 -23
  70. package/packages/index.ts +11 -11
  71. package/packages/locale/lang/fr-FR.ts +15 -15
  72. package/packages/locale/lang/it-IT.ts +4 -4
  73. package/packages/locale/lang/uk-UA.ts +1 -1
  74. package/packages/locale/lang/uz-UZ.ts +13 -13
  75. package/packages/locale/lang/zh-CN.ts +907 -907
  76. package/packages/table/index.ts +26 -26
  77. package/packages/table/module/custom/hook.ts +510 -503
  78. package/packages/table/module/custom/panel.ts +2002 -1743
  79. package/packages/table/module/edit/hook.ts +1224 -1131
  80. package/packages/table/module/export/export-panel.ts +697 -611
  81. package/packages/table/module/export/hook.ts +2160 -2059
  82. package/packages/table/module/export/import-panel.ts +319 -279
  83. package/packages/table/module/export/util.ts +25 -24
  84. package/packages/table/module/filter/hook.ts +519 -501
  85. package/packages/table/module/filter/panel.ts +368 -304
  86. package/packages/table/module/keyboard/hook.ts +498 -494
  87. package/packages/table/module/menu/hook.ts +330 -330
  88. package/packages/table/module/menu/panel.ts +272 -201
  89. package/packages/table/module/validator/hook.ts +653 -635
  90. package/packages/table/render/index.ts +1819 -1744
  91. package/packages/table/src/body.ts +1078 -955
  92. package/packages/table/src/cell.ts +1524 -1359
  93. package/packages/table/src/column.ts +192 -192
  94. package/packages/table/src/columnInfo.ts +232 -232
  95. package/packages/table/src/emits.ts +134 -134
  96. package/packages/table/src/footer.ts +425 -380
  97. package/packages/table/src/group.ts +67 -63
  98. package/packages/table/src/header.ts +642 -581
  99. package/packages/table/src/props.ts +336 -336
  100. package/packages/table/src/store.ts +14 -14
  101. package/packages/table/src/table.ts +16011 -15454
  102. package/packages/table/src/use/cell-view.ts +41 -44
  103. package/packages/table/src/use/index.ts +1 -1
  104. package/packages/table/src/util.ts +1206 -1216
  105. package/packages/toolbar/index.ts +18 -18
  106. package/packages/toolbar/src/toolbar.ts +768 -706
  107. package/packages/ui/index.ts +519 -520
  108. package/packages/ui/src/anime.ts +51 -52
  109. package/packages/ui/src/comp.ts +3 -3
  110. package/packages/ui/src/dom.ts +466 -463
  111. package/packages/ui/src/log.ts +19 -19
  112. package/packages/ui/src/utils.ts +66 -66
  113. package/packages/ui/src/vn.ts +55 -55
  114. package/packages/v-x-e-table/index.d.ts +3 -3
  115. package/packages/v-x-e-table/index.ts +3 -3
  116. package/types/all.d.ts +76 -76
  117. package/types/index.d.ts +4 -4
  118. /package/dist/{iconfont.1793007753347.ttf → iconfont.1793009263429.ttf} +0 -0
  119. /package/dist/{iconfont.1793007753347.woff → iconfont.1793009263429.woff} +0 -0
  120. /package/dist/{iconfont.1793007753347.woff2 → iconfont.1793009263429.woff2} +0 -0
  121. /package/es/{iconfont.1793007753347.ttf → iconfont.1793009263429.ttf} +0 -0
  122. /package/es/{iconfont.1793007753347.woff → iconfont.1793009263429.woff} +0 -0
  123. /package/es/{iconfont.1793007753347.woff2 → iconfont.1793009263429.woff2} +0 -0
  124. /package/lib/{iconfont.1793007753347.ttf → iconfont.1793009263429.ttf} +0 -0
  125. /package/lib/{iconfont.1793007753347.woff → iconfont.1793009263429.woff} +0 -0
  126. /package/lib/{iconfont.1793007753347.woff2 → iconfont.1793009263429.woff2} +0 -0
@@ -1,201 +1,272 @@
1
- import { h, Teleport, inject, ref, Ref } from 'vue'
2
- import { defineVxeComponent } from '../../../ui/src/comp'
3
- import XEUtils from 'xe-utils'
4
- import { VxeUI } from '@vxe-ui/core'
5
- import { getFuncText } from '../../../ui/src/utils'
6
- import { getSlotVNs } from '../../../ui/src/vn'
7
-
8
- import type { VxeTablePrivateMethods, VxeTableConstructor, VxeTableMethods } from '../../../../types'
9
-
10
- const { getIcon, getI18n, renderEmptyElement } = VxeUI
11
-
12
- export default defineVxeComponent({
13
- name: 'VxeTableMenuPanel',
14
- setup (props, context) {
15
- const xID = XEUtils.uniqueId()
16
-
17
- const $xeTable = inject('$xeTable', {} as VxeTableConstructor & VxeTableMethods & VxeTablePrivateMethods)
18
-
19
- const { reactData: tableReactData } = $xeTable
20
-
21
- const refElem = ref() as Ref<HTMLDivElement>
22
-
23
- const refMaps = {
24
- refElem
25
- }
26
-
27
- const $xeMenuPanel: any = {
28
- xID,
29
- props,
30
- context,
31
- getRefMaps: () => refMaps
32
- }
33
-
34
- const renderVN = () => {
35
- const { ctxMenuStore } = tableReactData
36
- const { computeMenuOpts } = $xeTable.getComputeMaps()
37
- const menuOpts = computeMenuOpts.value
38
- const { transfer, destroyOnClose, className } = menuOpts
39
- const { visible, list } = ctxMenuStore
40
-
41
- return h(Teleport, {
42
- to: 'body',
43
- disabled: !transfer
44
- }, [
45
- h('div', {
46
- ref: refElem,
47
- class: ['vxe-table--context-menu-wrapper', className, {
48
- 'is--visible': visible
49
- }],
50
- style: ctxMenuStore.style
51
- }, (destroyOnClose ? visible : true)
52
- ? list.map((options, gIndex) => {
53
- return options.every(item => item.visible === false)
54
- ? renderEmptyElement($xeTable)
55
- : h('ul', {
56
- class: 'vxe-table--context-menu-group-wrapper',
57
- key: gIndex
58
- }, options.map((item, index) => {
59
- const { children, loading } = item
60
- const hasChildMenus = children && children.some((child) => child.visible !== false)
61
- const prefixOpts = Object.assign({}, item.prefixConfig)
62
- const prefixIcon = prefixOpts.icon || item.prefixIcon
63
- const suffixOpts = Object.assign({}, item.suffixConfig)
64
- const suffixIcon = suffixOpts.icon || item.suffixIcon
65
- const menuContent = getFuncText(item.name)
66
- return item.visible === false
67
- ? renderEmptyElement($xeTable)
68
- : h('li', {
69
- class: ['vxe-table--context-menu--option', item.className, {
70
- 'link--loading': loading,
71
- 'link--disabled': item.disabled,
72
- 'link--active': item === ctxMenuStore.selected
73
- }],
74
- key: `${gIndex}_${index}`
75
- }, [
76
- h('a', {
77
- class: 'vxe-context-menu--link',
78
- onClick (evnt: Event) {
79
- $xeTable.ctxMenuLinkEvent(evnt, item)
80
- },
81
- onMouseover (evnt: Event) {
82
- $xeTable.ctxMenuMouseoverEvent(evnt, item)
83
- },
84
- onMouseout (evnt: Event) {
85
- $xeTable.ctxMenuMouseoutEvent(evnt, item)
86
- }
87
- }, [
88
- h('div', {
89
- class: ['vxe-context-menu--link-prefix', prefixOpts.className || '']
90
- }, [
91
- loading
92
- ? h('span', {
93
- class: getIcon('TABLE_MENU_OPTION_LOADING')
94
- })
95
- : (prefixIcon && XEUtils.isFunction(prefixIcon)
96
- ? h('span', {}, getSlotVNs(prefixIcon({})))
97
- : h('span', {}, [
98
- h('i', {
99
- class: prefixIcon
100
- })
101
- ])),
102
- prefixOpts.content ? h('span', {}, `${prefixOpts.content}`) : renderEmptyElement($xeTable)
103
- ]),
104
- h('div', {
105
- class: 'vxe-context-menu--link-content',
106
- title: menuContent
107
- }, loading ? getI18n('vxe.table.menuLoading') : menuContent),
108
- h('div', {
109
- class: ['vxe-context-menu--link-suffix', suffixOpts.className || '']
110
- }, [
111
- suffixIcon && XEUtils.isFunction(suffixIcon)
112
- ? h('span', {}, getSlotVNs(suffixIcon({})))
113
- : h('i', {
114
- class: suffixIcon || (hasChildMenus ? getIcon().TABLE_MENU_OPTIONS : '')
115
- }),
116
- suffixOpts.content ? h('span', `${suffixOpts.content}`) : renderEmptyElement($xeTable)
117
- ])
118
- ]),
119
- hasChildMenus && children
120
- ? h('ul', {
121
- class: ['vxe-table--context-menu-clild-wrapper', {
122
- 'is--show': item === ctxMenuStore.selected && ctxMenuStore.showChild
123
- }]
124
- }, children.map((child, cIndex) => {
125
- const { loading: childLoading } = child
126
- const childPrefixOpts = Object.assign({}, child.prefixConfig)
127
- const childPrefixIcon = childPrefixOpts.icon || child.prefixIcon
128
- const childSuffixOpts = Object.assign({}, child.suffixConfig)
129
- const childSuffixIcon = childSuffixOpts.icon || child.suffixIcon
130
- const childMenuContent = getFuncText(child.name)
131
- return child.visible === false
132
- ? null
133
- : h('li', {
134
- class: ['vxe-table--context-menu--option', child.className, {
135
- 'link--loading': childLoading,
136
- 'link--disabled': child.disabled,
137
- 'link--active': child === ctxMenuStore.selectChild
138
- }],
139
- key: `${gIndex}_${index}_${cIndex}`
140
- }, [
141
- h('a', {
142
- class: 'vxe-context-menu--link',
143
- onClick (evnt: Event) {
144
- $xeTable.ctxMenuLinkEvent(evnt, child)
145
- },
146
- onMouseover (evnt: Event) {
147
- $xeTable.ctxMenuMouseoverEvent(evnt, item, child)
148
- },
149
- onMouseout (evnt: Event) {
150
- $xeTable.ctxMenuMouseoutEvent(evnt, item)
151
- }
152
- }, [
153
- h('div', {
154
- class: ['vxe-context-menu--link-prefix', childPrefixOpts.className || '']
155
- }, [
156
- child.loading
157
- ? h('span', {
158
- class: getIcon('TABLE_MENU_OPTION_LOADING')
159
- })
160
- : (childPrefixIcon && XEUtils.isFunction(childPrefixIcon)
161
- ? h('span', {}, getSlotVNs(childPrefixIcon({})))
162
- : h('span', {}, [
163
- h('i', {
164
- class: childPrefixIcon
165
- })
166
- ])),
167
- childPrefixOpts.content ? h('span', `${childPrefixOpts.content}`) : renderEmptyElement($xeTable)
168
- ]),
169
- h('div', {
170
- class: 'vxe-context-menu--link-content',
171
- title: childMenuContent
172
- }, childLoading ? getI18n('vxe.table.menuLoading') : childMenuContent),
173
- h('div', {
174
- class: ['vxe-context-menu--link-suffix', childSuffixOpts.className || '']
175
- }, [
176
- childSuffixIcon && XEUtils.isFunction(childSuffixIcon)
177
- ? h('span', {}, getSlotVNs(childSuffixIcon({})))
178
- : h('i', {
179
- class: childSuffixIcon
180
- }),
181
- childSuffixOpts.content ? h('span', `${childSuffixOpts.content}`) : renderEmptyElement($xeTable)
182
- ])
183
- ])
184
- ])
185
- }))
186
- : null
187
- ])
188
- }))
189
- })
190
- : [])
191
- ])
192
- }
193
-
194
- $xeMenuPanel.renderVN = renderVN
195
-
196
- return $xeMenuPanel
197
- },
198
- render () {
199
- return this.renderVN()
200
- }
201
- })
1
+ import { h, Teleport, inject, ref, Ref } from 'vue'
2
+ import { defineVxeComponent } from '../../../ui/src/comp'
3
+ import XEUtils from 'xe-utils'
4
+ import { VxeUI } from '@vxe-ui/core'
5
+ import { getFuncText } from '../../../ui/src/utils'
6
+ import { getSlotVNs } from '../../../ui/src/vn'
7
+
8
+ import type { VxeTablePrivateMethods, VxeTableConstructor, VxeTableMethods } from '../../../../types'
9
+
10
+ const { getIcon, getI18n, renderEmptyElement } = VxeUI
11
+
12
+ export default defineVxeComponent({
13
+ name: 'VxeTableMenuPanel',
14
+ setup(props, context) {
15
+ const xID = XEUtils.uniqueId()
16
+
17
+ const $xeTable = inject('$xeTable', {} as VxeTableConstructor & VxeTableMethods & VxeTablePrivateMethods)
18
+
19
+ const { reactData: tableReactData } = $xeTable
20
+
21
+ const refElem = ref() as Ref<HTMLDivElement>
22
+
23
+ const refMaps = {
24
+ refElem
25
+ }
26
+
27
+ const $xeMenuPanel: any = {
28
+ xID,
29
+ props,
30
+ context,
31
+ getRefMaps: () => refMaps
32
+ }
33
+
34
+ const renderVN = () => {
35
+ const { ctxMenuStore } = tableReactData
36
+ const { computeMenuOpts } = $xeTable.getComputeMaps()
37
+ const menuOpts = computeMenuOpts.value
38
+ const { transfer, destroyOnClose, className } = menuOpts
39
+ const { visible, list } = ctxMenuStore
40
+
41
+ return h(
42
+ Teleport,
43
+ {
44
+ to: 'body',
45
+ disabled: !transfer
46
+ },
47
+ [
48
+ h(
49
+ 'div',
50
+ {
51
+ ref: refElem,
52
+ class: [
53
+ 'vxe-table--context-menu-wrapper',
54
+ className,
55
+ {
56
+ 'is--visible': visible
57
+ }
58
+ ],
59
+ style: ctxMenuStore.style
60
+ },
61
+ (destroyOnClose ? visible : true)
62
+ ? list.map((options, gIndex) => {
63
+ return options.every((item) => item.visible === false)
64
+ ? renderEmptyElement($xeTable)
65
+ : h(
66
+ 'ul',
67
+ {
68
+ class: 'vxe-table--context-menu-group-wrapper',
69
+ key: gIndex
70
+ },
71
+ options.map((item, index) => {
72
+ const { children, loading } = item
73
+ const hasChildMenus = children && children.some((child) => child.visible !== false)
74
+ const prefixOpts = Object.assign({}, item.prefixConfig)
75
+ const prefixIcon = prefixOpts.icon || item.prefixIcon
76
+ const suffixOpts = Object.assign({}, item.suffixConfig)
77
+ const suffixIcon = suffixOpts.icon || item.suffixIcon
78
+ const menuContent = getFuncText(item.name)
79
+ return item.visible === false
80
+ ? renderEmptyElement($xeTable)
81
+ : h(
82
+ 'li',
83
+ {
84
+ class: [
85
+ 'vxe-table--context-menu--option',
86
+ item.className,
87
+ {
88
+ 'link--loading': loading,
89
+ 'link--disabled': item.disabled,
90
+ 'link--active': item === ctxMenuStore.selected
91
+ }
92
+ ],
93
+ key: `${gIndex}_${index}`
94
+ },
95
+ [
96
+ h(
97
+ 'a',
98
+ {
99
+ class: 'vxe-context-menu--link',
100
+ onClick(evnt: Event) {
101
+ $xeTable.ctxMenuLinkEvent(evnt, item)
102
+ },
103
+ onMouseover(evnt: Event) {
104
+ $xeTable.ctxMenuMouseoverEvent(evnt, item)
105
+ },
106
+ onMouseout(evnt: Event) {
107
+ $xeTable.ctxMenuMouseoutEvent(evnt, item)
108
+ }
109
+ },
110
+ [
111
+ h(
112
+ 'div',
113
+ {
114
+ class: ['vxe-context-menu--link-prefix', prefixOpts.className || '']
115
+ },
116
+ [
117
+ loading
118
+ ? h('span', {
119
+ class: getIcon('TABLE_MENU_OPTION_LOADING')
120
+ })
121
+ : prefixIcon && XEUtils.isFunction(prefixIcon)
122
+ ? h('span', {}, getSlotVNs(prefixIcon({})))
123
+ : h('span', {}, [
124
+ h('i', {
125
+ class: prefixIcon
126
+ })
127
+ ]),
128
+ prefixOpts.content ? h('span', {}, `${prefixOpts.content}`) : renderEmptyElement($xeTable)
129
+ ]
130
+ ),
131
+ h(
132
+ 'div',
133
+ {
134
+ class: 'vxe-context-menu--link-content',
135
+ title: menuContent
136
+ },
137
+ loading ? getI18n('vxe.table.menuLoading') : menuContent
138
+ ),
139
+ h(
140
+ 'div',
141
+ {
142
+ class: ['vxe-context-menu--link-suffix', suffixOpts.className || '']
143
+ },
144
+ [
145
+ suffixIcon && XEUtils.isFunction(suffixIcon)
146
+ ? h('span', {}, getSlotVNs(suffixIcon({})))
147
+ : h('i', {
148
+ class: suffixIcon || (hasChildMenus ? getIcon().TABLE_MENU_OPTIONS : '')
149
+ }),
150
+ suffixOpts.content ? h('span', `${suffixOpts.content}`) : renderEmptyElement($xeTable)
151
+ ]
152
+ )
153
+ ]
154
+ ),
155
+ hasChildMenus && children
156
+ ? h(
157
+ 'ul',
158
+ {
159
+ class: [
160
+ 'vxe-table--context-menu-clild-wrapper',
161
+ {
162
+ 'is--show': item === ctxMenuStore.selected && ctxMenuStore.showChild
163
+ }
164
+ ]
165
+ },
166
+ children.map((child, cIndex) => {
167
+ const { loading: childLoading } = child
168
+ const childPrefixOpts = Object.assign({}, child.prefixConfig)
169
+ const childPrefixIcon = childPrefixOpts.icon || child.prefixIcon
170
+ const childSuffixOpts = Object.assign({}, child.suffixConfig)
171
+ const childSuffixIcon = childSuffixOpts.icon || child.suffixIcon
172
+ const childMenuContent = getFuncText(child.name)
173
+ return child.visible === false
174
+ ? null
175
+ : h(
176
+ 'li',
177
+ {
178
+ class: [
179
+ 'vxe-table--context-menu--option',
180
+ child.className,
181
+ {
182
+ 'link--loading': childLoading,
183
+ 'link--disabled': child.disabled,
184
+ 'link--active': child === ctxMenuStore.selectChild
185
+ }
186
+ ],
187
+ key: `${gIndex}_${index}_${cIndex}`
188
+ },
189
+ [
190
+ h(
191
+ 'a',
192
+ {
193
+ class: 'vxe-context-menu--link',
194
+ onClick(evnt: Event) {
195
+ $xeTable.ctxMenuLinkEvent(evnt, child)
196
+ },
197
+ onMouseover(evnt: Event) {
198
+ $xeTable.ctxMenuMouseoverEvent(evnt, item, child)
199
+ },
200
+ onMouseout(evnt: Event) {
201
+ $xeTable.ctxMenuMouseoutEvent(evnt, item)
202
+ }
203
+ },
204
+ [
205
+ h(
206
+ 'div',
207
+ {
208
+ class: ['vxe-context-menu--link-prefix', childPrefixOpts.className || '']
209
+ },
210
+ [
211
+ child.loading
212
+ ? h('span', {
213
+ class: getIcon('TABLE_MENU_OPTION_LOADING')
214
+ })
215
+ : childPrefixIcon && XEUtils.isFunction(childPrefixIcon)
216
+ ? h('span', {}, getSlotVNs(childPrefixIcon({})))
217
+ : h('span', {}, [
218
+ h('i', {
219
+ class: childPrefixIcon
220
+ })
221
+ ]),
222
+ childPrefixOpts.content ? h('span', `${childPrefixOpts.content}`) : renderEmptyElement($xeTable)
223
+ ]
224
+ ),
225
+ h(
226
+ 'div',
227
+ {
228
+ class: 'vxe-context-menu--link-content',
229
+ title: childMenuContent
230
+ },
231
+ childLoading ? getI18n('vxe.table.menuLoading') : childMenuContent
232
+ ),
233
+ h(
234
+ 'div',
235
+ {
236
+ class: ['vxe-context-menu--link-suffix', childSuffixOpts.className || '']
237
+ },
238
+ [
239
+ childSuffixIcon && XEUtils.isFunction(childSuffixIcon)
240
+ ? h('span', {}, getSlotVNs(childSuffixIcon({})))
241
+ : h('i', {
242
+ class: childSuffixIcon
243
+ }),
244
+ childSuffixOpts.content ? h('span', `${childSuffixOpts.content}`) : renderEmptyElement($xeTable)
245
+ ]
246
+ )
247
+ ]
248
+ )
249
+ ]
250
+ )
251
+ })
252
+ )
253
+ : null
254
+ ]
255
+ )
256
+ })
257
+ )
258
+ })
259
+ : []
260
+ )
261
+ ]
262
+ )
263
+ }
264
+
265
+ $xeMenuPanel.renderVN = renderVN
266
+
267
+ return $xeMenuPanel
268
+ },
269
+ render() {
270
+ return this.renderVN()
271
+ }
272
+ })