gtsoft-snail-job-admin/src/components/common/app-provider.vue

40 lines
864 B
Vue
Raw Normal View History

2024-03-08 17:59:45 +08:00
<script setup lang="ts">
import { createTextVNode, defineComponent } from 'vue';
2024-03-21 10:57:53 +08:00
import { useDialog, useLoadingBar, useMessage, useNotification } from 'naive-ui';
2024-03-08 17:59:45 +08:00
defineOptions({
name: 'AppProvider'
});
const ContextHolder = defineComponent({
name: 'ContextHolder',
setup() {
function register() {
2024-03-21 10:57:53 +08:00
window.$loadingBar = useLoadingBar();
window.$dialog = useDialog();
window.$message = useMessage();
window.$notification = useNotification();
2024-03-08 17:59:45 +08:00
}
register();
return () => createTextVNode();
}
});
</script>
<template>
2024-03-21 10:57:53 +08:00
<NLoadingBarProvider>
<NDialogProvider>
<NNotificationProvider>
<NMessageProvider>
<ContextHolder />
<slot></slot>
</NMessageProvider>
</NNotificationProvider>
</NDialogProvider>
</NLoadingBarProvider>
2024-03-08 17:59:45 +08:00
</template>
<style scoped></style>