news 2026/10/6 16:27:03

Vue—— Vue3 之 Element Plus 组件库集成与定制

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Vue—— Vue3 之 Element Plus 组件库集成与定制

背景问题:
需要快速构建 UI 界面,提高开发效率。

方案思考:
集成 Element Plus 组件库并进行主题定制。

具体实现:

// main.jsimport{createApp}from'vue'importElementPlusfrom'element-plus'import'element-plus/dist/index.css'// 按需引入主题importzhCnfrom'element-plus/es/locale/lang/zh-cn'constapp=createApp(App)// 全局配置 Element Plusapp.use(ElementPlus,{locale:zhCn,size:'default'// 'large', 'default', 'small'})

按需引入组件的完整示例:

// plugins/element-plus.jsimport{ElButton,ElMessage,ElMessageBox,ElNotification,ElInput,ElForm,ElFormItem}from'element-plus'constcomponents=[ElButton,ElInput,ElForm,ElFormItem]constplugins=[ElMessage,ElMessageBox,ElNotification]exportdefaultfunctionloadElementPlus(app){// 注册组件components.forEach(component=>{app.component(component.name,component)})// 注册插件plugins.forEach(plugin=>{app.config.globalProperties[`$${plugin.name}`]=plugin})}
// main.jsimport{createApp}from'vue'importAppfrom'./App.vue'importloadElementPlusfrom'@/plugins/element-plus'constapp=createApp(App)loadElementPlus(app)app.mount('#app')

主题定制示例:

// styles/element-variables.scss // 可以在这里覆盖 Element Plus 的 CSS 变量 :root { --el-color-primary: #1890ff; --el-color-success: #52c41a; --el-color-warning: #faad14; --el-color-danger: #f5222d; --el-color-info: #909399; // 字体大小 --el-font-size-base: 14px; --el-border-radius-base: 4px; }

使用组件的示例:

<template> <div class="element-demo"> <el-space> <el-button type="primary">主要按钮</el-button> <el-button type="success">成功按钮</el-button> <el-button type="warning">警告按钮</el-button> <el-button type="danger">危险按钮</el-button> <el-button type="info">信息按钮</el-button> </el-space> <el-form :model="form" :rules="rules" ref="formRef" style="margin-top: 20px;"> <el-form-item label="用户名" prop="username"> <el-input v-model="form.username" placeholder="请输入用户名" /> </el-form-item> <el-form-item label="邮箱" prop="email"> <el-input v-model="form.email" placeholder="请输入邮箱" /> </el-form-item> <el-form-item> <el-button type="primary" @click="submitForm">提交</el-button> <el-button @click="resetForm">重置</el-button> </el-form-item> </el-form> </div> </template> <script setup> import { ref, reactive } from 'vue' const formRef = ref() const form = reactive({ username: '', email: '' }) const rules = { username: [ { required: true, message: '请输入用户名', trigger: 'blur' }, { min: 3, max: 15, message: '长度在 3 到 15 个字符', trigger: 'blur' } ], email: [ { required: true, message: '请输入邮箱地址', trigger: 'blur' }, { type: 'email', message: '请输入正确的邮箱地址', trigger: ['blur', 'change'] } ] } const submitForm = () => { formRef.value.validate((valid) => { if (valid) { console.log('提交表单:', form) } else { console.log('验证失败!') return false } }) } const resetForm = () => { formRef.value.resetFields() } </script>
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/10/5 22:22:44

人群仿真软件:Legion_(11).Legion与其他软件的集成

Legion与其他软件的集成 在人群仿真项目中&#xff0c;Legion软件通常需要与其他软件和系统集成以实现更全面的仿真分析和数据处理。本节将详细介绍如何将Legion与其他常用软件和系统进行集成&#xff0c;包括数据导入导出、与其他仿真软件的联动、以及如何利用外部API和SDK进…

作者头像 李华
网站建设 2026/10/6 0:29:50

代码跑得慢?让Spring的StopWatch告诉你真相!

一、代码中到底哪个环节出了问题&#xff1f; 程序员的一天&#xff0c;经常在两种状态间切换&#xff1a; 状态A&#xff1a;&#xff08;自信满满&#xff09;“我这个方法优化过了&#xff0c;绝对飞快&#xff01;” 状态B&#xff1a;&#xff08;用户反馈后&#xff0…

作者头像 李华
网站建设 2026/10/6 11:04:04

【必收藏】大模型多Agent协作技术:从入门到精通的完整指南

1. 引言 大模型多Agent协作技术作为人工智能领域的前沿方向&#xff0c;正在经历快速发展和深度变革。本文通过横向对比不同研究方向和纵向追踪技术演进&#xff0c;为读者提供一个全面而深入的视角&#xff0c;理解当前大模型多Agent协作技术的发展现状、核心挑战以及未来趋势…

作者头像 李华
网站建设 2026/10/3 5:15:07

【必看】程序员必学:大模型训练数据集详解,收藏备用!

在当今人工智能飞速发展的时代&#xff0c;大模型已然成为行业瞩目的焦点。从智能语音助手到图像生成工具&#xff0c;从智能客服到复杂的数据分析&#xff0c;大模型正以惊人的速度改变着我们的生活和工作方式。而在这一系列强大应用的背后&#xff0c;有一个关键要素起着决定…

作者头像 李华
网站建设 2026/9/27 17:32:19

android 系统中间件和 平台中间件 的区别,Framework等

这是一个非常专业的问题&#xff0c;涉及到Android系统架构的核心层次。简单来说&#xff0c;平台中间件是通用、标准化的“官方层”&#xff0c;而系统中间件是厂商深度定制、差异化的“优化层”。 下面我通过一个表格来清晰地概括两者的主要区别&#xff0c;然后再详细解释&a…

作者头像 李华
网站建设 2026/10/5 3:19:51

Linux 之 Network

网卡从属关系bonding # 查看 bond0 的从属接口 ls -la /sys/class/net/bond0/# 查看 bonding_masters cat /sys/class/net/bonding_masters # 输出&#xff1a;bond0# 查看 bond0 的 slaves cat /sys/class/net/bond0/bonding/slaves # 输出&#xff1a;enp65s0f0np0 enp65s0f1…

作者头像 李华