vxe-pc-ui 4.11.45 → 4.12.1

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 (167) hide show
  1. package/es/calendar/src/calendar.js +254 -97
  2. package/es/calendar/style.css +248 -69
  3. package/es/calendar/style.min.css +1 -1
  4. package/es/date-panel/src/date-panel.js +3 -1
  5. package/es/icon/style.css +1 -1
  6. package/es/language/ar-EG.js +4 -0
  7. package/es/language/de-DE.js +4 -0
  8. package/es/language/en-US.js +4 -0
  9. package/es/language/es-ES.js +4 -0
  10. package/es/language/fr-FR.js +4 -0
  11. package/es/language/hu-HU.js +4 -0
  12. package/es/language/hy-AM.js +4 -0
  13. package/es/language/id-ID.js +4 -0
  14. package/es/language/it-IT.js +4 -0
  15. package/es/language/ja-JP.js +4 -0
  16. package/es/language/ko-KR.js +4 -0
  17. package/es/language/ms-MY.js +4 -0
  18. package/es/language/nb-NO.js +4 -0
  19. package/es/language/pt-BR.js +4 -0
  20. package/es/language/ru-RU.js +4 -0
  21. package/es/language/th-TH.js +4 -0
  22. package/es/language/ug-CN.js +4 -0
  23. package/es/language/uk-UA.js +4 -0
  24. package/es/language/uz-UZ.js +4 -0
  25. package/es/language/vi-VN.js +4 -0
  26. package/es/language/zh-CHT.js +4 -0
  27. package/es/language/zh-CN.js +4 -0
  28. package/es/menu/src/menu.js +67 -8
  29. package/es/style.css +1 -1
  30. package/es/style.min.css +1 -1
  31. package/es/tree/src/tree.js +10 -2
  32. package/es/ui/index.js +1 -1
  33. package/es/ui/src/log.js +1 -1
  34. package/es/vxe-calendar/style.css +248 -69
  35. package/es/vxe-calendar/style.min.css +1 -1
  36. package/lib/calendar/src/calendar.js +283 -104
  37. package/lib/calendar/src/calendar.min.js +1 -1
  38. package/lib/calendar/style/style.css +248 -69
  39. package/lib/calendar/style/style.min.css +1 -1
  40. package/lib/date-panel/src/date-panel.js +3 -1
  41. package/lib/date-panel/src/date-panel.min.js +1 -1
  42. package/lib/icon/style/style.css +1 -1
  43. package/lib/icon/style/style.min.css +1 -1
  44. package/lib/index.umd.js +443 -161
  45. package/lib/index.umd.min.js +1 -1
  46. package/lib/language/ar-EG.js +4 -0
  47. package/lib/language/ar-EG.min.js +1 -1
  48. package/lib/language/ar-EG.umd.js +4 -0
  49. package/lib/language/de-DE.js +4 -0
  50. package/lib/language/de-DE.min.js +1 -1
  51. package/lib/language/de-DE.umd.js +4 -0
  52. package/lib/language/en-US.js +4 -0
  53. package/lib/language/en-US.min.js +1 -1
  54. package/lib/language/en-US.umd.js +4 -0
  55. package/lib/language/es-ES.js +4 -0
  56. package/lib/language/es-ES.min.js +1 -1
  57. package/lib/language/es-ES.umd.js +4 -0
  58. package/lib/language/fr-FR.js +4 -0
  59. package/lib/language/fr-FR.min.js +1 -1
  60. package/lib/language/fr-FR.umd.js +4 -0
  61. package/lib/language/hu-HU.js +4 -0
  62. package/lib/language/hu-HU.min.js +1 -1
  63. package/lib/language/hu-HU.umd.js +4 -0
  64. package/lib/language/hy-AM.js +4 -0
  65. package/lib/language/hy-AM.min.js +1 -1
  66. package/lib/language/hy-AM.umd.js +4 -0
  67. package/lib/language/id-ID.js +4 -0
  68. package/lib/language/id-ID.min.js +1 -1
  69. package/lib/language/id-ID.umd.js +4 -0
  70. package/lib/language/it-IT.js +4 -0
  71. package/lib/language/it-IT.min.js +1 -1
  72. package/lib/language/it-IT.umd.js +4 -0
  73. package/lib/language/ja-JP.js +4 -0
  74. package/lib/language/ja-JP.min.js +1 -1
  75. package/lib/language/ja-JP.umd.js +4 -0
  76. package/lib/language/ko-KR.js +4 -0
  77. package/lib/language/ko-KR.min.js +1 -1
  78. package/lib/language/ko-KR.umd.js +4 -0
  79. package/lib/language/ms-MY.js +4 -0
  80. package/lib/language/ms-MY.min.js +1 -1
  81. package/lib/language/ms-MY.umd.js +4 -0
  82. package/lib/language/nb-NO.js +4 -0
  83. package/lib/language/nb-NO.min.js +1 -1
  84. package/lib/language/nb-NO.umd.js +4 -0
  85. package/lib/language/pt-BR.js +4 -0
  86. package/lib/language/pt-BR.min.js +1 -1
  87. package/lib/language/pt-BR.umd.js +4 -0
  88. package/lib/language/ru-RU.js +4 -0
  89. package/lib/language/ru-RU.min.js +1 -1
  90. package/lib/language/ru-RU.umd.js +4 -0
  91. package/lib/language/th-TH.js +4 -0
  92. package/lib/language/th-TH.min.js +1 -1
  93. package/lib/language/th-TH.umd.js +4 -0
  94. package/lib/language/ug-CN.js +4 -0
  95. package/lib/language/ug-CN.min.js +1 -1
  96. package/lib/language/ug-CN.umd.js +4 -0
  97. package/lib/language/uk-UA.js +4 -0
  98. package/lib/language/uk-UA.min.js +1 -1
  99. package/lib/language/uk-UA.umd.js +4 -0
  100. package/lib/language/uz-UZ.js +4 -0
  101. package/lib/language/uz-UZ.min.js +1 -1
  102. package/lib/language/uz-UZ.umd.js +4 -0
  103. package/lib/language/vi-VN.js +4 -0
  104. package/lib/language/vi-VN.min.js +1 -1
  105. package/lib/language/vi-VN.umd.js +4 -0
  106. package/lib/language/zh-CHT.js +4 -0
  107. package/lib/language/zh-CHT.min.js +1 -1
  108. package/lib/language/zh-CHT.umd.js +4 -0
  109. package/lib/language/zh-CN.js +4 -0
  110. package/lib/language/zh-CN.min.js +1 -1
  111. package/lib/language/zh-CN.umd.js +4 -0
  112. package/lib/menu/src/menu.js +89 -10
  113. package/lib/menu/src/menu.min.js +1 -1
  114. package/lib/style.css +1 -1
  115. package/lib/style.min.css +1 -1
  116. package/lib/tree/src/tree.js +62 -44
  117. package/lib/tree/src/tree.min.js +1 -1
  118. package/lib/ui/index.js +1 -1
  119. package/lib/ui/index.min.js +1 -1
  120. package/lib/ui/src/log.js +1 -1
  121. package/lib/ui/src/log.min.js +1 -1
  122. package/lib/vxe-calendar/style/style.css +248 -69
  123. package/lib/vxe-calendar/style/style.min.css +1 -1
  124. package/package.json +1 -1
  125. package/packages/calendar/src/calendar.ts +259 -97
  126. package/packages/date-panel/src/date-panel.ts +3 -1
  127. package/packages/language/ar-EG.ts +4 -0
  128. package/packages/language/de-DE.ts +4 -0
  129. package/packages/language/en-US.ts +4 -0
  130. package/packages/language/es-ES.ts +4 -0
  131. package/packages/language/fr-FR.ts +4 -0
  132. package/packages/language/hu-HU.ts +4 -0
  133. package/packages/language/hy-AM.ts +4 -0
  134. package/packages/language/id-ID.ts +4 -0
  135. package/packages/language/it-IT.ts +4 -0
  136. package/packages/language/ja-JP.ts +4 -0
  137. package/packages/language/ko-KR.ts +4 -0
  138. package/packages/language/ms-MY.ts +4 -0
  139. package/packages/language/nb-NO.ts +4 -0
  140. package/packages/language/pt-BR.ts +4 -0
  141. package/packages/language/ru-RU.ts +4 -0
  142. package/packages/language/th-TH.ts +4 -0
  143. package/packages/language/ug-CN.ts +4 -0
  144. package/packages/language/uk-UA.ts +4 -0
  145. package/packages/language/uz-UZ.ts +4 -0
  146. package/packages/language/vi-VN.ts +4 -0
  147. package/packages/language/zh-CHT.ts +4 -0
  148. package/packages/language/zh-CN.ts +4 -0
  149. package/packages/menu/src/menu.ts +79 -15
  150. package/packages/tree/src/tree.ts +11 -2
  151. package/styles/components/calendar.scss +281 -78
  152. package/types/components/calendar.d.ts +47 -3
  153. package/types/components/form-design.d.ts +106 -21
  154. package/types/components/menu.d.ts +50 -2
  155. package/types/ui/menus.d.ts +54 -5
  156. /package/es/icon/{iconfont.1768381374840.ttf → iconfont.1768462812157.ttf} +0 -0
  157. /package/es/icon/{iconfont.1768381374840.woff → iconfont.1768462812157.woff} +0 -0
  158. /package/es/icon/{iconfont.1768381374840.woff2 → iconfont.1768462812157.woff2} +0 -0
  159. /package/es/{iconfont.1768381374840.ttf → iconfont.1768462812157.ttf} +0 -0
  160. /package/es/{iconfont.1768381374840.woff → iconfont.1768462812157.woff} +0 -0
  161. /package/es/{iconfont.1768381374840.woff2 → iconfont.1768462812157.woff2} +0 -0
  162. /package/lib/icon/style/{iconfont.1768381374840.ttf → iconfont.1768462812157.ttf} +0 -0
  163. /package/lib/icon/style/{iconfont.1768381374840.woff → iconfont.1768462812157.woff} +0 -0
  164. /package/lib/icon/style/{iconfont.1768381374840.woff2 → iconfont.1768462812157.woff2} +0 -0
  165. /package/lib/{iconfont.1768381374840.ttf → iconfont.1768462812157.ttf} +0 -0
  166. /package/lib/{iconfont.1768381374840.woff → iconfont.1768462812157.woff} +0 -0
  167. /package/lib/{iconfont.1768381374840.woff2 → iconfont.1768462812157.woff2} +0 -0
@@ -333,6 +333,10 @@ export default {
333
333
  }
334
334
  }
335
335
  },
336
+ calendar: {
337
+ yearLabel: '{0} 年',
338
+ monthLabel: '{0} 月'
339
+ },
336
340
  numberInput: {
337
341
  currencySymbol: '$'
338
342
  },
@@ -333,6 +333,10 @@ export default {
333
333
  }
334
334
  }
335
335
  },
336
+ calendar: {
337
+ yearLabel: '{0} 年',
338
+ monthLabel: '{0} 月'
339
+ },
336
340
  numberInput: {
337
341
  currencySymbol: '$'
338
342
  },
@@ -333,6 +333,10 @@ export default {
333
333
  }
334
334
  }
335
335
  },
336
+ calendar: {
337
+ yearLabel: '{0} 年',
338
+ monthLabel: '{0} 月'
339
+ },
336
340
  numberInput: {
337
341
  currencySymbol: '$'
338
342
  },
@@ -333,6 +333,10 @@ export default {
333
333
  }
334
334
  }
335
335
  },
336
+ calendar: {
337
+ yearLabel: '{0} 年',
338
+ monthLabel: '{0} 月'
339
+ },
336
340
  numberInput: {
337
341
  currencySymbol: '$'
338
342
  },
@@ -333,6 +333,10 @@ export default {
333
333
  }
334
334
  }
335
335
  },
336
+ calendar: {
337
+ yearLabel: '{0} 年',
338
+ monthLabel: '{0} 月'
339
+ },
336
340
  numberInput: {
337
341
  currencySymbol: '$'
338
342
  },
@@ -333,6 +333,10 @@ export default {
333
333
  }
334
334
  }
335
335
  },
336
+ calendar: {
337
+ yearLabel: '{0} 年',
338
+ monthLabel: '{0} 月'
339
+ },
336
340
  numberInput: {
337
341
  currencySymbol: '$'
338
342
  },
@@ -333,6 +333,10 @@ export default {
333
333
  }
334
334
  }
335
335
  },
336
+ calendar: {
337
+ yearLabel: '{0} 年',
338
+ monthLabel: '{0} 月'
339
+ },
336
340
  numberInput: {
337
341
  currencySymbol: '$'
338
342
  },
@@ -333,6 +333,10 @@ export default {
333
333
  }
334
334
  }
335
335
  },
336
+ calendar: {
337
+ yearLabel: '{0} 年',
338
+ monthLabel: '{0} 月'
339
+ },
336
340
  numberInput: {
337
341
  currencySymbol: '$'
338
342
  },
@@ -333,6 +333,10 @@ export default {
333
333
  }
334
334
  }
335
335
  },
336
+ calendar: {
337
+ yearLabel: '{0} 年',
338
+ monthLabel: '{0} 月'
339
+ },
336
340
  numberInput: {
337
341
  currencySymbol: '¥'
338
342
  },
@@ -333,6 +333,10 @@ export default {
333
333
  }
334
334
  }
335
335
  },
336
+ calendar: {
337
+ yearLabel: '{0} 年',
338
+ monthLabel: '{0} 月'
339
+ },
336
340
  numberInput: {
337
341
  currencySymbol: '$'
338
342
  },
@@ -333,6 +333,10 @@ export default {
333
333
  }
334
334
  }
335
335
  },
336
+ calendar: {
337
+ yearLabel: '{0} 年',
338
+ monthLabel: '{0} 月'
339
+ },
336
340
  numberInput: {
337
341
  currencySymbol: '¥'
338
342
  },
@@ -333,6 +333,10 @@ export default {
333
333
  }
334
334
  }
335
335
  },
336
+ calendar: {
337
+ yearLabel: '{0} 年',
338
+ monthLabel: '{0} 月'
339
+ },
336
340
  numberInput: {
337
341
  currencySymbol: '¥'
338
342
  },
@@ -1,14 +1,17 @@
1
1
  import { ref, h, reactive, PropType, inject, resolveComponent, watch, VNode, computed, nextTick, onBeforeUnmount, onMounted } from 'vue'
2
2
  import { defineVxeComponent } from '../../ui/src/comp'
3
3
  import XEUtils from 'xe-utils'
4
- import { getConfig, getIcon, createEvent, permission, useSize, globalEvents, renderEmptyElement } from '../../ui'
4
+ import { VxeUI, createEvent, permission, useSize, globalEvents, renderEmptyElement } from '../../ui'
5
5
  import { toCssUnit } from '../../ui/src/dom'
6
- import { getLastZIndex, nextZIndex } from '../../ui/src/utils'
6
+ import { getLastZIndex, nextZIndex, isEnableConf } from '../../ui/src/utils'
7
7
  import { getSlotVNs } from '../../ui/src/vn'
8
- import VxeLoadingComponent from '../../loading/src/loading'
8
+ import { errLog } from '../../ui/src/log'
9
+ import VxeLoadingComponent from '../../loading'
9
10
 
10
11
  import type { VxeMenuDefines, VxeMenuPropTypes, MenuReactData, VxeMenuEmits, MenuMethods, VxeComponentSlotType, VxeLayoutAsidePropTypes, MenuPrivateMethods, MenuPrivateRef, VxeMenuPrivateComputed, VxeMenuConstructor, VxeMenuPrivateMethods, ValueOf, VxeLayoutAsideConstructor, VxeLayoutAsidePrivateMethods } from '../../../types'
11
12
 
13
+ const { menus, getConfig, getIcon } = VxeUI
14
+
12
15
  export default defineVxeComponent({
13
16
  name: 'VxeMenu',
14
17
  props: {
@@ -31,11 +34,14 @@ export default defineVxeComponent({
31
34
  size: {
32
35
  type: String as PropType<VxeMenuPropTypes.Size>,
33
36
  default: () => getConfig().menu.size || getConfig().size
34
- }
37
+ },
38
+ menuConfig: Object as PropType<VxeMenuPropTypes.MenuConfig>
35
39
  },
36
40
  emits: [
37
41
  'update:modelValue',
38
- 'click'
42
+ 'click',
43
+ 'option-menu',
44
+ 'menu-click'
39
45
  ] as VxeMenuEmits,
40
46
  setup (props, context) {
41
47
  const { emit, slots } = context
@@ -63,6 +69,10 @@ export default defineVxeComponent({
63
69
  refElem
64
70
  }
65
71
 
72
+ const computeMenuOpts = computed(() => {
73
+ return Object.assign({}, getConfig().menu.menuConfig, props.menuConfig)
74
+ })
75
+
66
76
  const computeIsCollapsed = computed(() => {
67
77
  const { collapsed } = props
68
78
  if (XEUtils.isBoolean(collapsed)) {
@@ -197,7 +207,7 @@ export default defineVxeComponent({
197
207
  }
198
208
  }
199
209
 
200
- const handleClickIconCollapse = (evnt: KeyboardEvent, item: VxeMenuDefines.MenuItem, itemList: VxeMenuDefines.MenuItem[]) => {
210
+ const handleClickIconCollapse = (evnt: MouseEvent, item: VxeMenuDefines.MenuItem, itemList: VxeMenuDefines.MenuItem[]) => {
201
211
  const { accordion } = props
202
212
  const { hasChild, isExpand } = item
203
213
  if (hasChild) {
@@ -219,7 +229,35 @@ export default defineVxeComponent({
219
229
  emit('update:modelValue', value)
220
230
  }
221
231
 
222
- const handleClickMenu = (evnt: KeyboardEvent, item: VxeMenuDefines.MenuItem, itemList: VxeMenuDefines.MenuItem[]) => {
232
+ const handleContextmenuEvent = (evnt: MouseEvent, item: VxeMenuDefines.MenuItem) => {
233
+ const { menuConfig } = props
234
+ const menuOpts = computeMenuOpts.value
235
+ if (menuConfig ? isEnableConf(menuOpts) : menuOpts.enabled) {
236
+ const { options, visibleMethod } = menuOpts
237
+ if (!visibleMethod || visibleMethod({ $menu: $xeMenu, options, currentMenu: item })) {
238
+ if (VxeUI.contextMenu) {
239
+ VxeUI.contextMenu.openByEvent(evnt, {
240
+ options,
241
+ events: {
242
+ optionClick (eventParams) {
243
+ const { option } = eventParams
244
+ const gMenuOpts = menus.get(option.code)
245
+ const mmMethod = gMenuOpts ? gMenuOpts.menuMenuMethod : null
246
+ const params = { menu: option, currentMenu: item, $event: evnt, $menu: $xeMenu }
247
+ if (mmMethod) {
248
+ mmMethod(params, evnt)
249
+ }
250
+ dispatchEvent('menu-click', params, eventParams.$event)
251
+ }
252
+ }
253
+ })
254
+ }
255
+ }
256
+ }
257
+ dispatchEvent('option-menu', { currentMenu: item }, evnt)
258
+ }
259
+
260
+ const handleClickMenu = (evnt: MouseEvent, item: VxeMenuDefines.MenuItem, itemList: VxeMenuDefines.MenuItem[]) => {
223
261
  const { itemKey, routerLink, hasChild } = item
224
262
  if (routerLink) {
225
263
  emitModel(itemKey)
@@ -232,7 +270,13 @@ export default defineVxeComponent({
232
270
  handleMenuMouseleave()
233
271
  }
234
272
  }
235
- dispatchEvent('click', { menu: item }, evnt)
273
+ const params = {
274
+ currentMenu: item,
275
+
276
+ // 已废弃
277
+ menu: item
278
+ }
279
+ dispatchEvent('click', params, evnt)
236
280
  }
237
281
 
238
282
  const handleMenuMouseenter = () => {
@@ -294,8 +338,11 @@ export default defineVxeComponent({
294
338
  const title = getMenuTitle(item)
295
339
  const isCollapsed = computeIsCollapsed.value
296
340
  const params = {
297
- option: item as any,
298
- collapsed: isCollapsed
341
+ currentMenu: item as Required<VxeMenuDefines.MenuItem>,
342
+ collapsed: isCollapsed,
343
+
344
+ // 已废弃
345
+ option: item as Required<VxeMenuPropTypes.MenuOption>
299
346
  }
300
347
  return [
301
348
  optionSlot
@@ -320,7 +367,7 @@ export default defineVxeComponent({
320
367
  hasChild
321
368
  ? h('div', {
322
369
  class: 'vxe-menu--item-link-collapse',
323
- onClick (evnt: KeyboardEvent) {
370
+ onClick (evnt: MouseEvent) {
324
371
  handleClickIconCollapse(evnt, item, itemList)
325
372
  }
326
373
  }, [
@@ -353,7 +400,10 @@ export default defineVxeComponent({
353
400
  ? h(resolveComponent('router-link'), {
354
401
  class: 'vxe-menu--item-link',
355
402
  to: routerLink,
356
- onClick (evnt: KeyboardEvent) {
403
+ onContextmenu (evnt: MouseEvent) {
404
+ handleContextmenuEvent(evnt, item)
405
+ },
406
+ onClick (evnt: MouseEvent) {
357
407
  handleClickMenu(evnt, item, itemList)
358
408
  }
359
409
  }, {
@@ -361,7 +411,10 @@ export default defineVxeComponent({
361
411
  })
362
412
  : h('div', {
363
413
  class: 'vxe-menu--item-link',
364
- onClick (evnt: KeyboardEvent) {
414
+ onContextmenu (evnt: MouseEvent) {
415
+ handleContextmenuEvent(evnt, item)
416
+ },
417
+ onClick (evnt: MouseEvent) {
365
418
  handleClickMenu(evnt, item, itemList)
366
419
  }
367
420
  }, renderMenuTitle(item, itemList)),
@@ -391,7 +444,10 @@ export default defineVxeComponent({
391
444
  ? h(resolveComponent('router-link'), {
392
445
  class: 'vxe-menu--item-link',
393
446
  to: routerLink,
394
- onClick (evnt: KeyboardEvent) {
447
+ onContextmenu (evnt: MouseEvent) {
448
+ handleContextmenuEvent(evnt, item)
449
+ },
450
+ onClick (evnt: MouseEvent) {
395
451
  handleClickMenu(evnt, item, itemList)
396
452
  }
397
453
  }, {
@@ -399,7 +455,10 @@ export default defineVxeComponent({
399
455
  })
400
456
  : h('div', {
401
457
  class: 'vxe-menu--item-link',
402
- onClick (evnt: KeyboardEvent) {
458
+ onContextmenu (evnt: MouseEvent) {
459
+ handleContextmenuEvent(evnt, item)
460
+ },
461
+ onClick (evnt: MouseEvent) {
403
462
  handleClickMenu(evnt, item, itemList)
404
463
  }
405
464
  }, renderMenuTitle(item, itemList)),
@@ -489,6 +548,11 @@ export default defineVxeComponent({
489
548
  })
490
549
 
491
550
  onMounted(() => {
551
+ const { menuConfig } = props
552
+ const VxeUIContextMenu = VxeUI.getComponent('VxeContextMenu')
553
+ if (menuConfig && !VxeUIContextMenu) {
554
+ errLog('vxe.error.reqComp', ['vxe-context-menu'])
555
+ }
492
556
  globalEvents.on($xeMenu, 'resize', updateCollapseStyle)
493
557
  updateCollapseStyle()
494
558
  })
@@ -1,6 +1,6 @@
1
1
  import { ref, h, reactive, PropType, computed, VNode, watch, onBeforeUnmount, nextTick, onMounted, provide } from 'vue'
2
2
  import { defineVxeComponent } from '../../ui/src/comp'
3
- import { VxeUI, getI18n, createEvent, getIcon, getConfig, useSize, globalEvents, globalResize, renderEmptyElement } from '../../ui'
3
+ import { VxeUI, createEvent, useSize, globalEvents, globalResize, renderEmptyElement } from '../../ui'
4
4
  import { calcTreeLine, enNodeValue, deNodeValue } from './util'
5
5
  import { errLog } from '../../ui/src/log'
6
6
  import { getCrossTreeDragNodeInfo } from './store'
@@ -13,6 +13,8 @@ import VxeLoadingComponent from '../../loading'
13
13
 
14
14
  import type { TreeReactData, VxeTreeEmits, VxeTreePropTypes, TreeInternalData, TreePrivateRef, VxeTreeDefines, VxeTreePrivateComputed, TreePrivateMethods, TreeMethods, ValueOf, VxeTreeConstructor, VxeTreePrivateMethods } from '../../../types'
15
15
 
16
+ const { menus, getConfig, getI18n, getIcon } = VxeUI
17
+
16
18
  /**
17
19
  * 生成节点的唯一主键
18
20
  */
@@ -1007,7 +1009,14 @@ export default defineVxeComponent({
1007
1009
  options,
1008
1010
  events: {
1009
1011
  optionClick (eventParams) {
1010
- dispatchEvent('menu-click', Object.assign({ node }, eventParams), eventParams.$event)
1012
+ const { option } = eventParams
1013
+ const gMenuOpts = menus.get(option.code)
1014
+ const tmMethod = gMenuOpts ? gMenuOpts.treeMenuMethod : null
1015
+ const params = { menu: option, node, $event: evnt, $tree: $xeTree }
1016
+ if (tmMethod) {
1017
+ tmMethod(params, evnt)
1018
+ }
1019
+ dispatchEvent('menu-click', params, eventParams.$event)
1011
1020
  }
1012
1021
  }
1013
1022
  })