在Vue3+ElementPlus中,配置按需导入后,以服务的方式调用ElLoading,但页面中不显示

Posted 青柠

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在Vue3+ElementPlus中,配置按需导入后,以服务的方式调用ElLoading,但页面中不显示相关的知识,希望对你有一定的参考价值。

Element-plus中使用Loading,样式丢失

背景:

Vue3 + Element-Plus,使用了按需导入。

import  ElLoading  from \'element-plus\';

ElLoading.service(
lock: true,
text: \'正在卖力加载中....\'
);

页面中,Loading样式不对,没有全屏覆盖。

解决:

第一种:

删除import导入,这时ElLoading.service会报ts类型错误,这时候拦截一下://@ts-ignore;

// 删除该导入
import  ElLoading  from \'element-plus\';

第二种:

直接导入样式:

import \'element-plus/theme-chalk/el-loading.css\';

第三种:

下载Webpack插件:unplugin-element-plus/webpack

npm i -D unplugin-element-plus/webpack

vue.config.js中:

const  defineConfig  = require(\'@vue/cli-service\');
const AutoImport = require(\'unplugin-auto-import/webpack\');
const Components = require(\'unplugin-vue-components/webpack\');
const  ElementPlusResolver  = require(\'unplugin-vue-components/resolvers\');

// 添加这一行
const ElementPlus = require(\'unplugin-element-plus/webpack\');

module.exports = defineConfig(
  // transpileDependencies: true,
  configureWebpack: 
    resolve: 
      alias: 
        components: \'@/components\'
      
    ,
    plugins: [
      AutoImport(
        resolvers: [ElementPlusResolver()]
      ),
      Components(
        resolvers: [ElementPlusResolver()]
      ),
      // 添加这一行
      ElementPlus()
    ]
  
);

使用Vite构建项目的话,把unplugin-element-plus/webpack更改unplugin-element-plus/vite

以上是关于在Vue3+ElementPlus中,配置按需导入后,以服务的方式调用ElLoading,但页面中不显示的主要内容,如果未能解决你的问题,请参考以下文章

vite +elementPlus vue3自定义主题色

Vue 3 + Vite 2 + ElementPlus 1.1.0-beta(按需引入及自定义主题)

vue3+elementPlus 深色主题切换

基于Vue3.0+ElementPlus后台精简模板

基于Vue3+TS+ElementPlus+Qiankun构建微应用项目

Vue3+ElementPlus+Koa2 全栈开发后台系统