Element Plus 的图标应用和Element UI的略有区别,须要独自装置。
在nuxt3中你可能并不能间接像Element Plus官网这样加载图标:
// main.ts// 如果您正在应用CDN引入,请删除上面一行。import * as ElementPlusIconsVue from '@element-plus/icons-vue'const app = createApp(App)for (const [key, component] of Object.entries(ElementPlusIconsVue)) { app.component(key, component)}
nuxt3对vue app实例做了封装,咱们能够应用useNuxtApp这个组合式办法中获取到vue app:
<template> <div> <NuxtLayout :name="layout"> <NuxtPage /> </NuxtLayout> </div></template><script setup>import * as ElementPlusIconsVue from '@element-plus/icons-vue'// You might choose this based on an API call or logged-in statusconst layout = "main-content";const nuxtApp = useNuxtApp()// console.log(nuxtApp)for (const [key, component] of Object.entries(ElementPlusIconsVue)) { nuxtApp.vueApp.component(key, component)}</script>
这样就能够失常应用图标了:
<el-icon class="el-icon-close"><Close @click="handleClose"/></el-icon>