六安电商网站建设哪家好,有关做美食的网站,南宁网站建设云尚网络,上海企业招聘信息以下是 Element UI 的完整使用实战示例#xff0c;涵盖从环境搭建、基础组件使用到项目实战的全流程#xff0c;结合多个实际场景和代码示例#xff1a; 一、环境搭建与基础配置
1. 安装 Element UI
通过 npm 或 yarn 安装#xff1a;
npm install element-ui --save
# …以下是 Element UI 的完整使用实战示例涵盖从环境搭建、基础组件使用到项目实战的全流程结合多个实际场景和代码示例 一、环境搭建与基础配置
1. 安装 Element UI
通过 npm 或 yarn 安装
npm install element-ui --save
# 或 yarn add element-ui2. 全局引入与配置
在 main.js 中全局注册 Element UI
import Vue from vue;
import ElementUI from element-ui;
import element-ui/lib/theme-chalk/index.css;Vue.use(ElementUI);3. 按需引入优化性能
安装 babel-plugin-component 插件
npm install babel-plugin-component --save-dev在 babel.config.js 中配置
module.exports {presets: [babel/preset-env],plugins: [[component, {libraryName: element-ui,styleLibraryName: theme-chalk}]]
};在 main.js 中按需引入组件
import { Button, Select, Message } from element-ui;
import element-ui/lib/theme-chalk/index.css;Vue.use(Button);
Vue.use(Select);
Vue.prototype.$message Message; // 全局挂载消息组件二、基础组件使用
1. 按钮与输入框
templatedivel-button typeprimary clickhandleClick点击我/el-buttonel-input v-modelinputValue placeholder请输入内容/el-input/div
/templatescript
export default {data() {return {inputValue: };},methods: {handleClick() {this.$message.success(按钮被点击);}}
};
/script2. 表单与验证
templateel-form :modelform :rulesrules refform label-width100pxel-form-item label用户名 propusernameel-input v-modelform.username/el-input/el-form-itemel-form-item label密码 proppasswordel-input typepassword v-modelform.password/el-input/el-form-itemel-button typeprimary clicksubmitForm提交/el-button/el-form
/templatescript
export default {data() {return {form: {username: ,password: },rules: {username: [{ required: true, message: 请输入用户名, trigger: blur }],password: [{ required: true, message: 请输入密码, trigger: blur }]}};},methods: {submitForm() {this.$refs.form.validate((valid) {if (valid) {this.$message.success(提交成功);} else {this.$message.error(请完善表单);}});}}
};
/script三、布局与容器组件
1. 响应式网格布局
templateel-rowel-col :span8 stylebackground-color: #f2f2f2;侧边栏/el-colel-col :span16el-headerHeader/el-headerel-mainMain Content/el-main/el-col/el-row
/template2. 菜单与导航
templateel-menu modevertical :routertrue default-active/el-menu-item index/首页/el-menu-itemel-submenu index2template slottitle用户管理/templateel-menu-item index/user/list用户列表/el-menu-itemel-menu-item index/user/add添加用户/el-menu-item/el-submenu/el-menu
/template四、高级组件与功能
1. 对话框Dialog
templateel-button clickdialogVisible true打开对话框/el-buttonel-dialog :visible.syncdialogVisible title提示p这是一个对话框/pspan slotfooterel-button clickdialogVisible false取消/el-buttonel-button typeprimary clickconfirm确认/el-button/span/el-dialog
/templatescript
export default {data() {return {dialogVisible: false};},methods: {confirm() {this.$message({ message: 操作成功, type: success });this.dialogVisible false;}}
};
/script2. 表格Table与数据操作
templateel-table :datatableData stylewidth: 100%el-table-column propdate label日期 width180/el-table-columnel-table-column propname label姓名 width180/el-table-columnel-table-column label操作template slot-scopescopeel-button sizemini clickhandleEdit(scope.row)编辑/el-buttonel-button typedanger sizemini clickhandleDelete(scope.row)删除/el-button/template/el-table-column/el-table
/templatescript
export default {data() {return {tableData: [{ date: 2023-05-01, name: 张三 },{ date: 2023-05-02, name: 李四 }]};},methods: {handleEdit(row) {this.$message.info(编辑操作);},handleDelete(row) {this.$confirm(确认删除?, 提示, { type: warning }).then(() {this.tableData this.tableData.filter(item item ! row);this.$message.success(删除成功);}).catch(() {});}}
};
/script五、项目实战待办事项管理系统
1. 项目结构
src/
├── components/
│ ├── TaskList.vue
│ ├── AddTask.vue
├── App.vue
├── main.js2. 核心功能代码
App.vue
templatedivel-input v-modelnewTask placeholder添加新任务 keyup.enteraddTask/el-inputel-button typeprimary clickaddTask添加/el-buttontask-list :taskstasks deleteTaskremoveTask/task-list/div
/templatescript
import TaskList from ./components/TaskList.vue;export default {data() {return {newTask: ,tasks: []};},methods: {addTask() {if (this.newTask.trim()) {this.tasks.push(this.newTask);this.newTask ;}},removeTask(task) {this.tasks this.tasks.filter(t t ! task);}},components: { TaskList }
};
/scriptTaskList.vue
templatedivel-checkbox-group v-modelcheckedTasksel-checkbox v-fortask in tasks :labeltask :keytask{{ task }}/el-checkbox/el-checkbox-groupel-button clickremoveAll清除已完成任务/el-button/div
/templatescript
export default {props: [tasks],data() {return {checkedTasks: []};},methods: {removeAll() {this.$emit(deleteTask, this.checkedTasks.join(,));}}
};
/script六、自定义主题与样式优化
1. 修改默认样式
在 src/styles/element-overrides.css 中覆盖默认样式
.el-button--primary {background-color: #007aff;border-color: #007aff;
}2. 自定义主题色
通过 SCSS 变量定制主题
// src/styles/variables.scss
$--color-primary: #409EFF;
$--color-success: #67C23A;
import ~element-ui/packages/theme-chalk/src/index.scss;七、总结与注意事项 按需引入 vs 全局引入 小型项目可直接全局引入大型项目建议按需加载以优化性能[3][5]。 表单验证 使用 rules 属性定义校验规则结合 trigger 触发时机如 blur 或 change[1][2]。 组件通信 通过 $emit 和 props 实现父子组件通信复杂场景可使用 EventBus 或 Vuex[4]。 移动端适配 使用 el-col 的响应式属性如 span 和 offset实现布局适配[2]。 通过以上步骤您可以快速上手 Element UI构建高效的前端界面。如需更深入的功能如权限控制、复杂表格操作可参考官方文档[1][4]。