|
|
|
|
@ -9,7 +9,7 @@ import type { Ref } from 'vue';
|
|
|
|
|
|
|
|
|
|
import type { ClassType, DeepPartial } from '@vben/types';
|
|
|
|
|
|
|
|
|
|
import type { VbenFormProps } from '@vben-core/form-ui';
|
|
|
|
|
import type { BaseFormComponentType, VbenFormProps } from '@vben-core/form-ui';
|
|
|
|
|
|
|
|
|
|
import type { VxeGridApi } from './api';
|
|
|
|
|
|
|
|
|
|
@ -35,7 +35,11 @@ export interface SeparatorOptions {
|
|
|
|
|
show?: boolean;
|
|
|
|
|
backgroundColor?: string;
|
|
|
|
|
}
|
|
|
|
|
export interface VxeGridProps {
|
|
|
|
|
|
|
|
|
|
export interface VxeGridProps<
|
|
|
|
|
T extends Record<string, any> = any,
|
|
|
|
|
D extends BaseFormComponentType = BaseFormComponentType,
|
|
|
|
|
> {
|
|
|
|
|
/**
|
|
|
|
|
* 标题
|
|
|
|
|
*/
|
|
|
|
|
@ -55,15 +59,15 @@ export interface VxeGridProps {
|
|
|
|
|
/**
|
|
|
|
|
* vxe-grid 配置
|
|
|
|
|
*/
|
|
|
|
|
gridOptions?: DeepPartial<VxeTableGridOptions>;
|
|
|
|
|
gridOptions?: DeepPartial<VxeTableGridOptions<T>>;
|
|
|
|
|
/**
|
|
|
|
|
* vxe-grid 事件
|
|
|
|
|
*/
|
|
|
|
|
gridEvents?: DeepPartial<VxeGridListeners>;
|
|
|
|
|
gridEvents?: DeepPartial<VxeGridListeners<T>>;
|
|
|
|
|
/**
|
|
|
|
|
* 表单配置
|
|
|
|
|
*/
|
|
|
|
|
formOptions?: VbenFormProps;
|
|
|
|
|
formOptions?: VbenFormProps<D>;
|
|
|
|
|
/**
|
|
|
|
|
* 显示搜索表单
|
|
|
|
|
*/
|
|
|
|
|
@ -74,9 +78,12 @@ export interface VxeGridProps {
|
|
|
|
|
separator?: boolean | SeparatorOptions;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
export type ExtendedVxeGridApi = VxeGridApi & {
|
|
|
|
|
useStore: <T = NoInfer<VxeGridProps>>(
|
|
|
|
|
selector?: (state: NoInfer<VxeGridProps>) => T,
|
|
|
|
|
export type ExtendedVxeGridApi<
|
|
|
|
|
D extends Record<string, any> = any,
|
|
|
|
|
F extends BaseFormComponentType = BaseFormComponentType,
|
|
|
|
|
> = VxeGridApi<D> & {
|
|
|
|
|
useStore: <T = NoInfer<VxeGridProps<D, F>>>(
|
|
|
|
|
selector?: (state: NoInfer<VxeGridProps<any, any>>) => T,
|
|
|
|
|
) => Readonly<Ref<T>>;
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|