element plus 使用ElMessage无法正确显示

一、问题

在使用element-plus时遇到的一个问题,element plus 使用ElMessage无法正确显示
一是显示在整个页面组件的最底部,二是没有样式

在这里插入图片描述
错误显示

在这里插入图片描述
正确显示

二、原因

之前以为是样式优先级问题或者组件层级问题,后来发现是因为使用element-plus自动按需导入时,使用的elememt-plus组件和样式无需导入可以直接使用,但是VS会自动导入element-plus组件 (2025/4/22),如此导致图片中的Elmessage出现在底部且没有样式

三、解决一

1.将组件中的引入删除,直接使用 ElMessage

  // 提示
  ElMessage.success('登录成功')

2.如果还不行,使用eslint-disable-next-line no-undef忽略下一行

// 提示
  // eslint-disable-next-line no-undef
  ElMessage.success('登录成功')

四、解决二

在 eslint.config.js 文件中的 globals 增加ElMessage: ‘readonly’, ESLint会认为ElMessage是一个只读的全局变量,可以解决ElMessage在JavaScript中作为全局变量使用时的问题

 globalIgnores(['**/dist/**', '**/dist-ssr/**', '**/coverage/**']),

  {
    languageOptions: {
      globals: {
        ...globals.browser,
        ElMessage: 'readonly',
        ElMessageBox: 'readonly',
        ElLoading: 'readonly'
      }
    }
  },

ps

纯属个人想法,困扰已久,记录一下,有问题感谢指正
有额外的类似问题和解决方法,欢迎贴上

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值