自动导入element-ui的Message等提示方法

这篇具有很好参考价值的文章主要介绍了自动导入element-ui的Message等提示方法。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

最近看element-plus文档的时候发现了组件可以自动导入,详情见这里,使用的是unplugin-vue-componentsunplugin-auto-import
其实element-ui也是支持的,unplugin-vue-components的文档有说明。
对于element-ui,只是引入组件的话,还不需要引入unplugin-auto-import。一些提示方法,如Message,其实手动引一次也很方便。不过我在看unplugin-auto-import的文档的时候,发现了一些有趣的东西:
自动导入element-ui的Message等提示方法
可以省略掉import,那Message这些不就也能自动引入了?项目中我是没这样搞,这只是我想玩一下,实现这种效果。

<template>
  <div class="home">
    <img alt="Vue logo" src="../assets/logo.png" />
    <HelloWorld msg="Welcome to Your Vue.js App" />
  </div>
</template>

<script>
// @ is an alias to /src
import HelloWorld from "@/components/HelloWorld.vue";

export default {
  name: "HomeView",
  components: {
    HelloWorld,
  },
  created() {
    console.log(Message);
    Message("妙啊");
  },
};
</script>

如上图所示,我想实现的效果是,代码里不写引入element的Message方法,也能正常使用Message。
一开始我是这样写的,vue.config.js

// vue.config.js
const { defineConfig } = require("@vue/cli-service");
const AutoImport = require("unplugin-auto-import/webpack");
const Components = require("unplugin-vue-components/webpack");
const { ElementUiResolver } = require("unplugin-vue-components/resolvers");

module.exports = defineConfig({
  transpileDependencies: true,
  lintOnSave: false,
  configureWebpack: {
    plugins: [
      AutoImport({
        resolvers: [
          (name) => {
            if (name === "Message") {
              return {
                from: "element-ui/lib/message.js",
              };
            }
          },
        ],
      }),
      Components({ resolvers: [ElementUiResolver()] }),
    ],
  },
});

发现引入不成功,不知道是怎么回事,后来换了写法:

// vue.config.js
// 省略引入部分

module.exports = defineConfig({
  transpileDependencies: true,
  lintOnSave: false,
  configureWebpack: {
    plugins: [
      AutoImport({
        resolvers: [
          (name) => {
            if (name === "Message") {
              return {
                from: "element-ui",
                name: "Message",
              };
            }
          },
        ],
      }),
      Components({ resolvers: [ElementUiResolver()] }),
    ],
  },
});

最后补充基础的样式(icon等)和Message的样式,如下

// vue.config.js
// 省略引入部分

module.exports = defineConfig({
  transpileDependencies: true,
  lintOnSave: false,
  configureWebpack: {
    plugins: [
      AutoImport({
        resolvers: [
          (name) => {
            if (name === "Message") {
              return {
                from: "element-ui",
                name: "Message",
                sideEffects: [
                  "element-ui/lib/theme-chalk/base.css",
                  "element-ui/lib/theme-chalk/message.css",
                ],
              };
            }
          },
        ],
      }),
      Components({ resolvers: [ElementUiResolver()] }),
    ],
  },
});

效果出来了,嘿嘿
自动导入element-ui的Message等提示方法
代码不引入编辑器会提示变量未定义,unplugin-auto-import也给出了解决方法,可以自动生成对应的.eslintrc文件

// vue.config.js
// 省略引入部分

module.exports = defineConfig({
  transpileDependencies: true,
  lintOnSave: false,
  configureWebpack: {
    plugins: [
      AutoImport({
        resolvers: [
          (name) => {
            if (name === "Message") {
              return {
                from: "element-ui",
                name: "Message",
                sideEffects: [
                  "element-ui/lib/theme-chalk/base.css",
                  "element-ui/lib/theme-chalk/message.css",
                ],
              };
            }
          },
        ],
        eslintrc: {
          enabled: true,	// 启用自动生成.eslintrc
        },
      }),
      Components({ resolvers: [ElementUiResolver()] }),
    ],
  },
});

默认路径是./.eslintrc-auto-import.json,看到有这个文件后在.eslintrc.js中引入即可,这样编辑器就不提示报错了文章来源地址https://www.toymoban.com/news/detail-493562.html

module.exports = {
  // 省略其他配置项...
  extends: [
    // 省略其他配置项...
    "./.eslintrc-auto-import.json",
  ],
};

到了这里,关于自动导入element-ui的Message等提示方法的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • element-ui如何导入

    Element UI是一个基于Vue.js的UI组件库,可以帮助您快速构建网站或应用。 要在您的Vue.js项目中使用Element UI,您需要进行以下步骤: 1.安装Element UI: 在命令行中运行以下命令,将Element UI安装到您的项目中: 或者,您也可以使用Yarn: 2.在您的Vue.js项目中导入Element UI: 在您的项

    2024年02月14日
    浏览(25)
  • 解决Element UI 多次弹出message消息提示的问题

    使用element ui 的提示信息,可能会出现以下场景,多次的提示信息,影响使用感受。  解决方法: 1、重写 resetMessage.js,具体如下: 在src/utils(文件所在路径可以根据自身需要创建)下新建一个文件 resetMessage.js 2、main.js中引入重写的 resetMessage.js import { message } from \\\'@/utils/re

    2024年02月16日
    浏览(28)
  • Element UI实现每次只弹出一个Message消息提示

    在开发Web应用程序时,我们经常需要使用消息提示来向用户展示重要信息。Element UI提供了一个方便易用的组件——Message,可以用于显示各种类型的消息提示。 然而,默认情况下,当多个消息提示同时触发时,它们会依次累积在页面上,导致界面上出现多个消息提示。本篇博

    2024年02月06日
    浏览(40)
  • 基于Element UI或Element Plus实现具有倒计时的Message消息提示

    刚好遇到一个需要自动关闭消息提示的需求,可Element框架暂时没有实现这个功能。开始时没有头绪,于是搜一下道友的博客文章,看到有一篇文章实现了这个功能,在此我完善了一下这个技巧方法。完善后的技巧方法支持多次点击,实例化多个消息提示,每个消息提示都具有

    2024年02月07日
    浏览(32)
  • webstorm上没有Element-ui的提示

    前提,在已经安装element-ui的情况下,看网上的例子说是在 Setting----Languages Frameworks----JavaScript----Libararies 第一次出现这个问题的时候我发现自带的项目库,也就是 下图中最下面未选中node_modules不是打勾的状态,而是横线未全选,我把他取消选中重新选中之后加载重启后解决问题 。

    2024年02月13日
    浏览(30)
  • element-ui表格数据为空,图片占位提示

     当表格的绑定数据为空时常需要显示暂无数据等字样,这时候就用到了empty-text 但,当数据为空,想用图片展示呢,如下图    方法一: 可在表格底部列在加入自定义图片  完整代码: 方法二: 使用element的Empty空状态组件,无数据图片占位提示

    2024年02月14日
    浏览(31)
  • 解决IDEA中element-ui标签没有代码提示问题

    一.所遇问题 安装完 element-ui 后发现警告 \\\"Unknown html tag el-button\\\" ,且标签 没有代码提示 ,但依旧能够正常运行 二.解决方法 方法一:打开项目下的 node_modules ,找到 element-ui ,右击点击 Include JavaScript files 方法二:右击目录 node_modules ,把node_modules取消排除  解决后:

    2024年02月11日
    浏览(33)
  • 【UI】 修改element-ui input输入框placeholder提示信息、占位符的样式

    如何修改 代码如下: 效果 案例展示 vue2.x代码 案例效果

    2024年02月15日
    浏览(34)
  • element-ui使用el-tooltip文本超出时,tooltip文字提示,否则不提示

    如果你遇到了vue项目element使用el-tooltip时,超出时显示tooltip提示,不超出内容则不显示,请看下面教程。 超出时会显示…,鼠标悬浮出现提示内容,没有超出时,鼠标悬浮不会显示,请看图 直接上代码 data中: methods中:

    2024年02月11日
    浏览(46)
  • element-ui中this.$confirm提示文字中,部分有颜色(自定义)

    如图 想要让element-ui中的提示文字中,部分有颜色可以如下设置: MessageBox 组件可以通过传递一个 HTML 片段来自定义对话框内容的样式。 注意,在使用 MessageBox 组件时需要添加 dangerouslyUseHTMLString: true 选项来启用自定义 HTML 片段。 可以直接这么写 也可以封装成一个变量 为了

    2024年02月07日
    浏览(39)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包