element-plus主题配置

element-plus主题配置

先上官网:主题

本篇文章会讲述,我是如何根据官方教程进行element-plus的主题配置的,以及遇到的坑,和坑的解决方法。

首先,我们需要创建自己的主题文件,/src/styles/element.scss(文件名随意)

根据官网,调整我们的主题:

@forward "element-plus/theme-chalk/src/common/var.scss" with (
  $colors: (
    'primary': ('base': #3A9BFF)
  ),
  $main: ('padding': 0)
);

然后,我们来修改vite.config.js配置文件:

import { UserConfigExport } from 'vite'
import vue from '@vitejs/plugin-vue'

// 自定义自动引入
import Component from 'unplugin-vue-components/vite'
import { ElementPlusResolver } from 'unplugin-vue-components/resolvers'
import ElementPlus from 'unplugin-element-plus/vite'
import * as path from "path";

// https://vitejs.dev/config/
export default ():UserConfigExport => {
  return {
    resolve: {
      alias: {
        "@": path.join(__dirname, './src')
      }
    },
    css: {
      preprocessorOptions: {
        scss: {
          additionalData: `@use "@/styles/element.scss" as *;` // 路径根据配置改变,没有别名就用相对路径和绝对路径
        }
      }
    },
    plugins: [...,
      // ElementPlus({useSource: true}),  // 官方,但非必要
      ElementPlus(), // 非官方
      Component({
	      resolvers: [
	        ElementPlusResolver({
	        	importStyle: 'sass' // 非官方,必要
        	})
	      ],
	      dts: 'src/declares/component.d.ts'
    })],
    ...
  }
}

根据官方文档,我们配置ElementPlus插件的useSource属性为true。重新启动之后可以发现,主题颜色发生了改变,但是mainpadding却无效。于是我删除了useSource的配置。

由于我采用的是自动引入,所以我查看了一下unplugin-vue-components的官方配置文档。

官方配置文档中有关于element-plus解析器的详细说明,其中importStyle可以配置element-plus的样式引入方式,它默认是css。将这个属性设置为sass,重启项目,所有的主题配置就都生效了。

### 如何在 Vue3 中使用 Element Plus 实现系统配置图标 为了实现在 Vue3 项目中利用 Element Plus 显示并操作系统的配置图标,可以遵循如下方法: #### 安装依赖包 确保已经安装了 `element-plus` 和其对应的样式文件。如果尚未完成这一步骤,则可以通过 npm 或 yarn 来执行安装命令。 ```bash npm install element-plus # 或者 yarn add element-plus ``` #### 导入组件库 接着,在项目的入口文件(通常是 main.js 或 main.ts),全局引入 Element Plus 及所需的语言包和 CSS 文件[^2]。 ```javascript import { createApp } from 'vue' import App from './App.vue' // 引入整个 ElementPlus 库以及默认主题样式表 import ElementPlus from 'element-plus'; import 'element-plus/lib/theme-chalk/index.css'; const app = createApp(App); app.use(ElementPlus); // 注册 ElementPlus 插件 app.mount('#app'); ``` #### 使用 Icon 组件展示配置项图标 Element Plus 提供了一个名为 `<el-icon>` 的基础组件来支持 SVG 图标显示功能。对于自定义或第三方图标集的支持也十分友好。下面是一个简单的例子,展示了如何通过内置的 icon 属性指定不同的图标名称以呈现相应的图形符号[^1]。 ```html <template> <div style="display: flex; gap: 8px;"> <!-- 配置中心 --> <el-tooltip content="进入设置"> <el-button type="primary" @click="handleConfigClick()"> <span><el-icon><Setting /></el-icon></span> 进入设置 </el-button> </el-tooltip> <!-- 更多选项按钮 --> <el-dropdown trigger="click"> <span class="el-dropdown-link"> <el-icon><MoreFilled /></el-icon> </span> <template #dropdown> <el-dropdown-menu> <el-dropdown-item divided @click.native.stop="doSomething()">更多</el-dropdown-item> </el-dropdown-menu> </template> </el-dropdown> </div> </template> <script setup lang="ts"> import { ElMessage, ElMessageBox } from 'element-plus' function handleConfigClick() { console.log('前往配置页面') } function doSomething(){ ElMessage({ message: '选择了其他动作', type: 'success' }) } </script> ``` 上述代码片段创建了一组带有提示信息的操作按钮,其中包含了用于触发特定事件处理程序的方法调用逻辑。当点击这些按钮时会弹出相应消息框或者跳转到设定好的路径上。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值