Vue3 项目中按需引入 Element Plus 后使用组件时样式丢失

1 问题描述

在 vue3 项目中依据Element Plus官方文档按需引入后,在 .vue 页面中使用 ElMessageElLoading 等组件时出现样式丢失的情况。
在这里插入图片描述

2 引发原因

按需引入仅引入了相关组件,未引入全局样式或者按需引入组件样式。

3 解决方法

  1. 安装 unplugin-element-plus

    npm i unplugin-element-plus -D
    
  2. vue.config.js 中引入并配置

    // vue.config.js
    const AutoImport = require('unplugin-auto-import/webpack')
    const Components = require('unplugin-vue-components/webpack')
    const { ElementPlusResolver } = require('unplugin-vue-components/resolvers')
    // 引入unplugin-element-plus
    const ElementPlus = require('unplugin-element-plus/webpack')
    
    module.exports = {
      chainWebpack: config => {
        config
          .plugin('html')
          .tap(args => {
            args[0].title = 'xxx管理后台'
            return args
          })
      },
      configureWebpack: {
        plugins: [
          AutoImport({
            resolvers: [ElementPlusResolver()]
          }),
          Components({
            resolvers: [ElementPlusResolver()]
          }),
          ElementPlus() // 配置unplugin-element-plus
        ]
      }
    }
    
引入Element Plus的分页组件Vue 3项目,你要先安装Element Plus库。如果你还没有安装,请使用npm或yarn进行安装: ```bash # 使用npm npm install element-plus @vue/cli-plugin-element-plus # 或者使用yarn yarn add element-plus @vue/cli-plugin-element-plus ``` 接下来,确保你在`main.js`或其他入口文件配置了Element Plus: ```javascript // main.js import { createApp } from 'vue' import App from './App.vue' import ElementPlus from 'element-plus' createApp(App).use(ElementPlus).mount('#app') ``` 然后,在你的Vue组件,你可以像下面这样导入并使用分页组件`el-pagination`: ```html <template> <div> <!-- 其他内容 --> <el-pagination :total="totalItems" :current-page="currentPage" :page-size="pageSize" @current-change="handleCurrentChange" layout="prev, pager, next" ></el-pagination> <!-- 更多内容 --> </div> </template> <script setup> import { ref } from 'vue' const totalItems = ref(100) // 总数据量 const currentPage = ref(1) // 当前页数 const pageSize = ref(10) // 每页显示的数量 function handleCurrentChange(page) { console.log(`当前页切换到了第${page}页`) } </script> ``` 别忘了替换`totalItems`, `currentPage`, 和 `pageSize` 的值为实际的数据源。 现在你已经设置了基本的分页功能。Element Plus提供了很多可自定义的属性和事件,你可以查阅官方文档(https://element-plus.org/zh-CN/component/pagination)了解更多信息。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Vesuvius688

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值