iis服务器助手广告广告
返回顶部
首页 > 资讯 > 前端开发 > JavaScript >element-plus按需引入后ElMessage与ElLoading在页面中的使用
  • 706
分享到

element-plus按需引入后ElMessage与ElLoading在页面中的使用

2024-04-02 19:04:59 706人浏览 安东尼
摘要

目录element-plus按需引入后ElMessage与ElLoading在页面使用按照官网按需引用element-plusElMessage与ElLoading使用问题解决找不到

element-plus按需引入后ElMessage与ElLoading在页面使用

按照官网按需引用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出现错误

因为element-plus更新频率很高,所以路径也有改变,可以试一下我下面的这个引用路径

找了一早上的bug终于解决了

以上为个人经验,希望能给大家一个参考,也希望大家多多支持编程网。 

--结束END--

本文标题: element-plus按需引入后ElMessage与ElLoading在页面中的使用

本文链接: https://www.lsjlt.com/news/166658.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作