Element Plus 配置自动按需引入后,手动引入组件,组件样式丢失

2023-11-20

起因

最近在尝试使用 Element Plus 写一些简单的页面,跟着官方文档走配置了自动按需引入:

npm install -D unplugin-vue-components unplugin-auto-import
// vite.config.ts
import { defineConfig } from 'vite'
import AutoImport from 'unplugin-auto-import/vite'
import Components from 'unplugin-vue-components/vite'
import { ElementPlusResolver } from 'unplugin-vue-components/resolvers'

export default defineConfig({
  // ...
  plugins: [
    // ...
    AutoImport({
      resolvers: [ElementPlusResolver()],
    }),
    Components({
      resolvers: [ElementPlusResolver()],
    }),
  ],
})

官网文档链接

我使用到了一个 ElTree 组件,把官方实例代码拷过来后,怎么看都跟官网文档上的样式不一样。F12一看,对应的html标签里有类名,但是在style里面却找不到类名对应的样式。于是尝试手动引入组件样式

import 'element-plus/es/components/tree/style/css'

但是这样做却也是无济于事

在网上一顿搜索也没找到解决办法,甚至连样式丢失的原因也找不到,真是见鬼。

无意间的发现

偶然间,我把代码里面的一个import给注释掉了:

// import { ElTree } from "element-plus";

神奇的是样式居然恢复正常了,F12,style里面也能找到对应的样式了,我才意识到可能是配置自动按需引入后,再手动引入组件会导致冲突,看来自动按需引入插件还不够完善。

上面的手动引入是因为代码中要使用组件的模板引用,给ref做类型标注用的:

const treeRef = ref<InstanceType<typeof ElTree>>()

将上面的手动引入去掉后虽然丢失的样式回来了并且编译也不会报错,但是vscode老是标红,代码提示也没了,看着很难受。

解决办法

如果你不在意vscode报错,大可直接去掉手动组件import,可以正常编译运行。但是像我这样的强迫症患者实在没法接受。

为了使组件自动按需引入和手动引入共存,我想到了一个办法,使用一个ts文件作为中转,例如:

// types.ts
import { ElSelect, ElTree } from "element-plus";

export type ElTreeType = InstanceType<typeof ElTree>;
export type ElSelectType = InstanceType<typeof ElSelect>;

然后直接在.vue文件里面直接导入所需要的组件type即可。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Element Plus 配置自动按需引入后,手动引入组件,组件样式丢失 的相关文章

随机推荐

  • POJ - 2325 Persistent Numbers

    The multiplicative persistence of a number is defined by Neil Sloane Neil J A Sloane in The Persistence of a Number publ
  • angular:ng add “@nguniversal/express-engine“提示Data path ““ must NOT have additional properties

    出现原因 未知 只知道有个项目能成功 拷贝这个项目uninstall后再次ng add也能成功 而其他项目无法成功 提示这个 解决办法 手动添加相关代码 一样能够运行 ssr
  • 《零基础入门学习Python》第061讲:论一只爬虫的自我修养9:异常处理

    高级语言的一个有些特性就是它可以从容不迫的处理每一个遇到的错误 不至于说遇到一个小错误就导致整个程序崩溃了 大部分高级语言处理错误的方法都是通过检测异常 处理异常来实现的 Python也是一样 用程序用代码进行互联网访问的时候 会出现异常是
  • Java设计模式之装饰者设计模式Decorator Pattern

    目录 一 基本概念 二 结构 1 图示 三 案例演示 被装饰对象的基类 一个接口 有cost 和description 两个抽象方法 具体被装饰的对象 实现上面这个接口 装饰者抽象类 基类 实现drink接口 具体的装饰者类 糖 具体装饰者
  • 图数据库中的空间值——实现图数据库内容在地理坐标系下展现

    一个帅气的boy 你可以叫我Love And Program 个人主页 Love And Program的个人主页 如果对你有帮助的话希望三连 支持一下博主 坐标参考系统 地理坐标系及地图经纬度拾取 笛卡尔坐标系 在这里插入图片描述 图数据
  • dev-c++官网位置和源码/库位置

    1 http devpaks org 2 http www bloodshed net 3 http www bloodshed net dev 转载于 https www cnblogs com vilyLei articles 1812
  • 亲爱的波特兰——CJ麦科勒姆告别信

    系列文章目录 精选优美英文短文1 Dear Basketball 亲爱的篮球 精选优美英文短文2 Here s to the Crazy Ones 致疯狂的人 我祝你不幸并痛苦 约翰 罗伯茨毕业致辞 Dear Portland You kn
  • 数据库学习笔记(9)——python连接数据库/python操作数据库/sql注入

    1 python连接数据库 1 不管是那一门编程语言都是不可以直接连接数据库的 需要有连接介质 连接池 2 python的连接池有 pymysql 或者 mysqlclient 3 在cmd中导入库 pip install pymysql
  • java文件上传

    简介 java文件上传 1 Commons FileUpload简介 1 Commons FileUpload组件 Commons是Apache开放源代码组织的一个Java子项目 其中的FileUpload是用来处理HTTP文件上传的子项目
  • C++类大小计算

    关于C 类大小计算 这在一本书 深度探索C 对象模型 一书中有非常详细的介绍 我这里归纳整理 本节讨论的是64位地址计算机 指针长度8字节 1 类的大小取决于以下成员 a 非静态成员变量 b 虚函数table c 数据对齐 d 空类 当然还
  • linux下makefile的CC和gcc

    参考自 http www cnblogs com zhouyinhui archive 2010 02 01 1661078 html CC gcc CC arm hisiv400 linux gcc 上面是经常遇到的makefile中编写
  • 阿兰·麦席森·图灵 介绍

    Alan MAthison Turing 英国数学家 逻辑学家 被称为 计算机科学之父 人工智能之父 她曾协助盟军破解德国的著名密码系统Enigma 帮助盟军取得了第二次世界大战的胜利 他对计算机的贡献在于他提出的有限状态自动机也就是图灵机
  • 微信支付商家转账到零钱功能使用教程

    之前的 企业付款到零钱 功能 微信支付已下架 以后用 商家转账到零钱 功能取代 下面介绍如何开通并使用该功能 从运营账户支出 首先需要先去了解一下微信支付的这3个账户的关系 商家转账到零钱 功能 是从运营账户转账给用户的 开通 商家转账到零
  • ATL字符串转换宏

    有比MultiByteToWideChar和WideCharToMultiByte更简单的字符串转换宏 你相信吗 头文件 d program files microsoft visual studio 8 vc atlmfc include
  • Flutter 碰到的各种坑 持续更新

    Android转flutter 也有1年多了 在新公司将一个产品用flutter从零开始开发 感觉flutter 还是不太稳定 各种问题还是比较多 总之这次体验还是比较差 Error on line 21 column 5 of pubsp
  • Kafka——Mac搭建kafka环境

    1 下载Kafka安装包 下载地址 将压缩包移动到 usr local mv kafka 2 12 3 1 0 tgz usr local 解压 tar zxvf kafka 2 12 3 1 0 tgz 2 启动 启动zookeeper
  • WEB安全测试手册

    概述 目的 适用读者 适用范围 注意事项 测试级别说明 测试过程示意图 1 服务器信息收集 1 1 运行帐号权限测试 1 2 Web服务器端口扫描 1 3 HTTP方法测试 1 4 HTTP PUT方法测试 1 5 HTTP DELETE方
  • 前端例程20211213:网页去色(以灰度形式显示)

    文章目录 前言 实现与演示 前言 在每年的一些特殊的日子 比如公祭日等 很多网站会将页面整体去色以灰度形式显示 以示哀悼 这里将对网页中实现该功能进行简单说明 实现与演示 使用CSS的 filter grayscale 属性可以给元素添加灰
  • 主进程退出后子进程还会存在吗?_深度好文

    干了这碗鸡汤 我急切地盼望着可以经历一场放纵的快乐 纵使巨大的悲哀将接踵而至 我也在所不惜 太宰治 人间失格 大家好 这里是周日凌晨4点 仍在笔耕不辍的程序喵大人 下面隆重推出我呕心沥血 耗时半个月完成的精心力作 01 什么是进程 标准定义
  • Element Plus 配置自动按需引入后,手动引入组件,组件样式丢失

    起因 最近在尝试使用 Element Plus 写一些简单的页面 跟着官方文档走配置了自动按需引入 npm install D unplugin vue components unplugin auto import vite config