This commit is contained in:
2022-11-14 11:59:26 +08:00
parent 0a63adba99
commit 492d0963fe
336 changed files with 70636 additions and 7 deletions

21
es/useLevel/index.js Normal file
View File

@@ -0,0 +1,21 @@
import { inject, computed, isRef, provide, reactive } from "vue";
const LevelInjectionKey = Symbol("menuLevelKey");
function provideLevel(level) {
const computedLevel = computed(() => isRef(level) ? level.value : level);
provide(LevelInjectionKey, reactive({
level: computedLevel
}));
}
function useLevel(props) {
const { provideNextLevel } = props || {};
const levelContext = inject(LevelInjectionKey);
const level = computed(() => levelContext.level || 1);
if (provideNextLevel) {
const nextLevel = computed(() => level.value + 1);
provideLevel(nextLevel);
}
return {
level
};
}
export { provideLevel as p, useLevel as u };