element-plus按需引入后ElMessage與ElLoading在頁面中的使用
element-plus按需引入后ElMessage與ElLoading在頁面使用
按照官網(wǎng)按需引用element-plus
pnpm install element-plus pnpm add -D unplugin-vue-components unplugin-auto-import
// vite.config.ts
import AutoImport from 'unplugin-auto-import/vite'
import Components from 'unplugin-vue-components/vite'
import { ElementPlusResolver } from 'unplugin-vue-components/resolvers'
export default {
? plugins: [
? ? // ...
? ? AutoImport({
? ? ? resolvers: [ElementPlusResolver()],
? ? }),
? ? Components({
? ? ? resolvers: [ElementPlusResolver()],
? ? }),
? ],
}ElMessage與ElLoading使用問題
<script setup lang="ts">
? const testMessage = () => {
? ? ElMessage.success('1211')
? }
</script><template> ? <div> ? ? <el-button type="primary" @click="testMessage">Primary</el-button> ? </div> </template>
此時ElMessage與ElLoading也是可用,當時vscode有會報錯提示-----------》找不到名稱“ElMessage”。ts(2304),我在tsconfig.json添加了配置依舊報錯
解決找不到名稱“ElMessage”報錯
1.手動引入ElMessage
<script setup lang="ts">
? // 手動引入
? import { ElMessage } from 'element-plus'
? const testMessage = () => {
? ? ElMessage.success('1211')
? }
</script><template> ? <div class="bg-light-900 flex justify-center"> ? ? <el-button type="primary" @click="testMessage">Primary</el-button> ? ? <Test /> ? </div> </template>
2.在main.ts中引入對應樣式
// 引入Elmessage和Elloading的css樣式文件 import 'element-plus/theme-chalk/el-loading.css' import 'element-plus/theme-chalk/el-message.css'
3.ElLoading同理
雖然在main.ts中引入可以解決
但背離了我們自動導入的初衷,所以推薦下面這種方式
pnpm add vite-plugin-style-import consola -D
// vite.config.ts
import {
? createStyleImportPlugin,
? ElementPlusResolve,
} from 'vite-plugin-style-import'
export default {
? plugins: [
? ? // ...
? ? createStyleImportPlugin({
? ? ? resolves: [ElementPlusResolve()],
? ? ? libs: [
? ? ? ? {
? ? ? ? ? libraryName: 'element-plus',
? ? ? ? ? esModule: true,
? ? ? ? ? resolveStyle: (name: string) => {
? ? ? ? ? ? return `element-plus/theme-chalk/${name}.css`
? ? ? ? ? },
? ? ? ? },
? ? ? ]
? ? }),
? ],
}這樣配置后 我們就不用在mian.js中手動導入ElMessage與ElLoading的樣式了
從element-plus引入ElLoading和ILoadingInstance出現(xiàn)錯誤

因為element-plus更新頻率很高,所以路徑也有改變,可以試一下我下面的這個引用路徑
找了一早上的bug終于解決了

以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
Vue3中使用defineCustomElement 定義組件詳解
這篇文章主要為大家介紹了Vue3中使用defineCustomElement 定義組件詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2022-10-10
vue中props賦值給data出現(xiàn)的問題及解決
這篇文章主要介紹了vue中props賦值給data出現(xiàn)的問題及解決,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2022-10-10
Vue3?pinia管理數(shù)據(jù)的3種方式代碼
在Vue3中Pinia是一個狀態(tài)管理庫,它提供了一種簡單而強大的方式來管理應用程序的狀態(tài),這篇文章主要給大家介紹了關(guān)于Vue3?pinia管理數(shù)據(jù)的3種方式,需要的朋友可以參考下2024-04-04
vue短信驗證性能優(yōu)化如何寫入localstorage中
這篇文章主要介紹了vue短信驗證性能優(yōu)化寫入localstorage中的方法,解決這個問題需要把時間都寫到localstorage里面去,具體解決方法大家參考下本文2018-04-04

