干燥机配套车间生产管理系统/云平台服务端
bsw215583320
2023-06-26 d9d32b6627e75d945e2ab8709aa1a12a95305d82
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
import type { Ref } from 'vue';
import type { BasicTableProps, TableActionType } from '../types/table';
import { provide, inject, ComputedRef } from 'vue';
 
const key = Symbol('basic-table');
 
type Instance = TableActionType & {
  wrapRef: Ref<Nullable<HTMLElement>>;
  getBindValues: ComputedRef<Recordable>;
};
 
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;
}