Naive UI 中使用message组件,如果你想在 setup 外使用信息,你需要在顶层 setup 中把 useMessage 返回的 message 值挂载到 window 下然后再调用,调用前需要确保 message 已经挂载成功。
<template></template>
<script>
import { useMessage } from 'naive-ui'
import { defineComponent } from 'vue'
export default defineComponent({
setup() {
window.$message = useMessage()
}
})
</script>
<template>
<n-config-provider
:locale="zhCN"
:date-locale="dateZhCN"
:theme-overrides="customStyle"
>
<n-message-provider>
<n-dialog-provider>
<loading-provider>
<MessageContent />
<router-view />
</loading-provider>
</n-dialog-provider>
</n-message-provider>
</n-config-provider>
</template>
<script setup lang="ts">
import {
NConfigProvider,
NDialogProvider,
NMessageProvider,
zhCN,
dateZhCN
} from 'naive-ui'
import LoadingProvider from './components/loading/LoadingProvider.vue'
import customStyle from './style_config'
import MessageContent from '@/views/MessageContent.vue'
</script>
window.$message.error(`跳转失败!${err}`)
如果你使用的是TS,在.d.ts
为后缀的文件中声明
interface Window {
$message: any
}