Rodney Chen
2024-05-09 8e6de8cc5b7cb2c23133c1bb1a8860e2260a215a
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
import type { InjectionKey, Ref } from 'vue';
import type { Emitter } from '/@/utils/mitt';
import { createContext, useContext } from '/@/hooks/core/useContext';
 
export interface SimpleRootMenuContextProps {
  rootMenuEmitter: Emitter;
  activeName: Ref<string | number>;
}
 
const key: InjectionKey<SimpleRootMenuContextProps> = Symbol();
 
export function createSimpleRootMenuContext(context: SimpleRootMenuContextProps) {
  return createContext<SimpleRootMenuContextProps>(context, key, { readonly: false, native: true });
}
 
export function useSimpleRootMenuContext() {
  return useContext<SimpleRootMenuContextProps>(key);
}