element-plus按需引入后ElMessage與ElLoading在頁(yè)面中的使用
element-plus按需引入后ElMessage與ElLoading在頁(yè)面使用
按照官網(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使用問(wèn)題
<script setup lang="ts"> ? const testMessage = () => { ? ? ElMessage.success('1211') ? } </script>
<template> ? <div> ? ? <el-button type="primary" @click="testMessage">Primary</el-button> ? </div> </template>
此時(shí)ElMessage與ElLoading也是可用,當(dāng)時(shí)vscode有會(huì)報(bào)錯(cuò)提示-----------》找不到名稱“ElMessage”。ts(2304),我在tsconfig.json添加了配置依舊報(bào)錯(cuò)
解決找不到名稱“ElMessage”報(bào)錯(cuò)
1.手動(dòng)引入ElMessage
<script setup lang="ts"> ? // 手動(dòng)引入 ? 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中引入對(duì)應(yīng)樣式
// 引入Elmessage和Elloading的css樣式文件 import 'element-plus/theme-chalk/el-loading.css' import 'element-plus/theme-chalk/el-message.css'
3.ElLoading同理
雖然在main.ts中引入可以解決
但背離了我們自動(dòng)導(dǎo)入的初衷,所以推薦下面這種方式
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中手動(dòng)導(dǎo)入ElMessage與ElLoading的樣式了
從element-plus引入ElLoading和ILoadingInstance出現(xiàn)錯(cuò)誤
因?yàn)閑lement-plus更新頻率很高,所以路徑也有改變,可以試一下我下面的這個(gè)引用路徑
找了一早上的bug終于解決了
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
vue實(shí)現(xiàn)原理this.$message實(shí)例詳解
這篇文章主要介紹了vue實(shí)現(xiàn)原理this.$message實(shí)例詳解,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友參考下吧2024-03-03vue項(xiàng)目實(shí)現(xiàn)webpack配置代理,解決跨域問(wèn)題
這篇文章主要介紹了vue項(xiàng)目實(shí)現(xiàn)webpack配置代理,解決跨域問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-04-04Vue2.5學(xué)習(xí)筆記之如何在項(xiàng)目中使用和配置Vue
這篇文章主要介紹了Vue2.5學(xué)習(xí)筆記之如何在項(xiàng)目中使用和配置Vue的相關(guān)知識(shí),非常不錯(cuò),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2018-09-09vue修改數(shù)據(jù)的時(shí)候,表單值回顯不正確問(wèn)題及解決
這篇文章主要介紹了vue修改數(shù)據(jù)的時(shí)候,表單值回顯不正確的解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-11-11vue-router重寫push方法,解決相同路徑跳轉(zhuǎn)報(bào)錯(cuò)問(wèn)題
這篇文章主要介紹了vue-router重寫push方法,解決相同路徑跳轉(zhuǎn)報(bào)錯(cuò)問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-08-08KKFileView結(jié)合vue多格式文件在線預(yù)覽功能實(shí)現(xiàn)
kkFileView是git的開源在線文件預(yù)覽項(xiàng)目,這篇文章主要介紹了KKFileView結(jié)合vue多格式文件在線預(yù)覽功能,本文給大家介紹的非常詳細(xì),需要的朋友可以參考下2024-02-02vue+elementui+vuex+sessionStorage實(shí)現(xiàn)歷史標(biāo)簽菜單的示例代碼
本文主要介紹了vue+elementui+vuex+sessionStorage實(shí)現(xiàn)歷史標(biāo)簽菜單的示例代碼,文中通過(guò)示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-12-12element-ui?tree?異步樹實(shí)現(xiàn)勾選自動(dòng)展開、指定展開、指定勾選功能
這篇文章主要介紹了element-ui?tree?異步樹實(shí)現(xiàn)勾選自動(dòng)展開、指定展開、指定勾選,項(xiàng)目中用到了vue的element-ui框架,用到了el-tree組件,由于數(shù)據(jù)量很大,使用了數(shù)據(jù)懶加載模式,即異步樹,需要的朋友可以參考下2022-08-08