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

 更新时间:2022年09月02日 10:50:09   作者:你的微笑、暖暖的  
这篇文章主要介绍了element-plus按需引入后ElMessage与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终于解决了

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。 

相关文章

  • vuedraggable实现拖拽功能

    vuedraggable实现拖拽功能

    这篇文章主要为大家详细介绍了vuedraggable实现拖拽功能,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-04-04
  • Vue精简版风格指南(推荐)

    Vue精简版风格指南(推荐)

    这篇文章主要介绍了Vue精简版风格指南的相关资料,包括组件名称,指令及特征,需要的朋友可以参考下
    2018-01-01
  • Vue3中使用defineCustomElement 定义组件详解

    Vue3中使用defineCustomElement 定义组件详解

    这篇文章主要为大家介绍了Vue3中使用defineCustomElement 定义组件详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-10-10
  • vue中props赋值给data出现的问题及解决

    vue中props赋值给data出现的问题及解决

    这篇文章主要介绍了vue中props赋值给data出现的问题及解决,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-10-10
  • Vue3中v-for的使用示例详解

    Vue3中v-for的使用示例详解

    本文主要介绍了Vue3中v-for的使用方法,包括遍历数组、遍历对象、索引访问、嵌套遍历以及结合计算属性和方法的使用,v-for可以帮助用户动态地生成和管理列表数据,并根据需要进行复杂的DOM操作,提供了多种示例,帮助读者更好地理解和使用v-for
    2024-10-10
  • 基于vue3&element-plus的暗黑模式实例详解

    基于vue3&element-plus的暗黑模式实例详解

    实现暗黑主题的方式有很多种,也有很多成型的框架可以直接使用,下面这篇文章主要给大家介绍了关于基于vue3&element-plus的暗黑模式的相关资料,需要的朋友可以参考下
    2022-12-12
  • 深入理解vue3中的reactive()

    深入理解vue3中的reactive()

    本文主要介绍了深入理解vue3中的reactive(),文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-02-02
  • Vue3 pinia管理数据的3种方式代码

    Vue3 pinia管理数据的3种方式代码

    在Vue3中Pinia是一个状态管理库,它提供了一种简单而强大的方式来管理应用程序的状态,这篇文章主要给大家介绍了关于Vue3 pinia管理数据的3种方式,需要的朋友可以参考下
    2024-04-04
  • vue可滑动的tab组件使用详解

    vue可滑动的tab组件使用详解

    这篇文章主要为大家详细介绍了vue可滑动的tab组件使用,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-07-07
  • vue短信验证性能优化如何写入localstorage中

    vue短信验证性能优化如何写入localstorage中

    这篇文章主要介绍了vue短信验证性能优化写入localstorage中的方法,解决这个问题需要把时间都写到localstorage里面去,具体解决方法大家参考下本文
    2018-04-04

最新评论