24 lines
610 B
Plaintext
24 lines
610 B
Plaintext
import type { Ref } from 'vue';
|
|
import type { BasicTableProps, TableActionType } from '../types/table';
|
|
import { provide, inject, ComputedRef } from 'vue';
|
|
|
|
const key = Symbol('s-table');
|
|
|
|
type Instance = TableActionType & {
|
|
wrapRef: Ref<Nullable<HTMLElement>>;
|
|
getBindValues: ComputedRef<Recordable>;
|
|
isShowTable: any;
|
|
};
|
|
|
|
type RetInstance = Omit<Instance, 'getBindValues'> & {
|
|
getBindValues: ComputedRef<BasicTableProps>;
|
|
};
|
|
|
|
export function createTableContext(instance: Instance) {
|
|
provide(key, instance);
|
|
}
|
|
|
|
export function useTableContext(): RetInstance {
|
|
return inject(key) as RetInstance;
|
|
}
|