|
<script setup lang="ts"> |
|
import { defineComponent, h } from 'vue' |
|
import { |
|
NDialogProvider, |
|
NLoadingBarProvider, |
|
NMessageProvider, |
|
NNotificationProvider, |
|
useDialog, |
|
useLoadingBar, |
|
useMessage, |
|
useNotification, |
|
} from 'naive-ui' |
|
|
|
function registerNaiveTools() { |
|
window.$loadingBar = useLoadingBar() |
|
window.$dialog = useDialog() |
|
window.$message = useMessage() |
|
window.$notification = useNotification() |
|
} |
|
|
|
const NaiveProviderContent = defineComponent({ |
|
name: 'NaiveProviderContent', |
|
setup() { |
|
registerNaiveTools() |
|
}, |
|
render() { |
|
return h('div') |
|
}, |
|
}) |
|
</script> |
|
|
|
<template> |
|
<NLoadingBarProvider> |
|
<NDialogProvider> |
|
<NNotificationProvider> |
|
<NMessageProvider> |
|
<slot /> |
|
<NaiveProviderContent /> |
|
</NMessageProvider> |
|
</NNotificationProvider> |
|
</NDialogProvider> |
|
</NLoadingBarProvider> |
|
</template> |
|
|