RanMaoting
1 year ago
committed by
GitHub
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
1 changed files with
20 additions and
0 deletions
-
packages/effects/plugins/src/vxe-table/use-vxe-grid.ts
|
|
|
@ -1,3 +1,7 @@ |
|
|
|
import type { VxeGridSlots, VxeGridSlotTypes } from 'vxe-table'; |
|
|
|
|
|
|
|
import type { SlotsType } from 'vue'; |
|
|
|
|
|
|
|
import type { BaseFormComponentType } from '@vben-core/form-ui'; |
|
|
|
|
|
|
|
import type { ExtendedVxeGridApi, VxeGridProps } from './types'; |
|
|
|
@ -9,6 +13,12 @@ import { useStore } from '@vben-core/shared/store'; |
|
|
|
import { VxeGridApi } from './api'; |
|
|
|
import VxeGrid from './use-vxe-grid.vue'; |
|
|
|
|
|
|
|
type FilteredSlots<T> = { |
|
|
|
[K in keyof VxeGridSlots<T> as K extends 'form' |
|
|
|
? never |
|
|
|
: K]: VxeGridSlots<T>[K]; |
|
|
|
}; |
|
|
|
|
|
|
|
export function useVbenVxeGrid< |
|
|
|
T extends Record<string, any> = any, |
|
|
|
D extends BaseFormComponentType = BaseFormComponentType, |
|
|
|
@ -31,6 +41,16 @@ export function useVbenVxeGrid< |
|
|
|
{ |
|
|
|
name: 'VbenVxeGrid', |
|
|
|
inheritAttrs: false, |
|
|
|
slots: Object as SlotsType< |
|
|
|
{ |
|
|
|
// 表格标题
|
|
|
|
'table-title': undefined; |
|
|
|
// 工具栏左侧部分
|
|
|
|
'toolbar-actions': VxeGridSlotTypes.DefaultSlotParams<T>; |
|
|
|
// 工具栏右侧部分
|
|
|
|
'toolbar-tools': VxeGridSlotTypes.DefaultSlotParams<T>; |
|
|
|
} & FilteredSlots<T> |
|
|
|
>, |
|
|
|
}, |
|
|
|
); |
|
|
|
// Add reactivity support
|
|
|
|
|