ElementUI 组件概览

ElementUI 组件概览

ElementUI 是基于 Vue 2.0 的桌面端组件库,提供丰富的 UI 组件,以下为常用组件分类及在 Vue 中的基础用法示例。


基础组件

1. Button 按钮

提供多种按钮样式和状态,支持图标按钮和按钮组。

html 复制代码
<el-button type="primary" @click="handleClick">主要按钮</el-button>
<el-button plain icon="el-icon-search">搜索</el-button>

2. Input 输入框

支持表单输入、文本域、前后缀插槽等。

html 复制代码
<el-input v-model="inputValue" placeholder="请输入内容"></el-input>
<el-input type="textarea" :rows="3"></el-input>

3. Layout 布局

通过 el-rowel-col 实现栅格布局。

html 复制代码
<el-row :gutter="20">
  <el-col :span="12"><div>左侧内容</div></el-col>
  <el-col :span="12"><div>右侧内容</div></el-col>
</el-row>

表单组件

1. Form 表单

结合 el-form-item 实现表单校验和动态表单。

html 复制代码
<el-form :model="formData" :rules="rules" ref="formRef">
  <el-form-item label="用户名" prop="username">
    <el-input v-model="formData.username"></el-input>
  </el-form-item>
  <el-form-item>
    <el-button type="primary" @click="submitForm">提交</el-button>
  </el-form-item>
</el-form>
javascript 复制代码
data() {
  return {
    formData: { username: '' },
    rules: { username: [{ required: true, message: '必填项', trigger: 'blur' }] }
  };
}

2. Select 选择器

支持单选、多选、远程搜索等功能。

html 复制代码
<el-select v-model="selectedValue" placeholder="请选择">
  <el-option
    v-for="item in options"
    :key="item.value"
    :label="item.label"
    :value="item.value">
  </el-option>
</el-select>

数据展示组件

1. Table 表格

支持分页、排序、自定义列模板等。

html 复制代码
<el-table :data="tableData" border>
  <el-table-column prop="date" label="日期"></el-table-column>
  <el-table-column prop="name" label="姓名"></el-table-column>
</el-table>

2. Pagination 分页

与表格结合实现数据分页。

html 复制代码
<el-pagination
  @current-change="handlePageChange"
  :current-page="currentPage"
  :page-size="10"
  :total="100">
</el-pagination>

反馈组件

1. Message 消息提示

通过 this.$message 调用全局提示。

javascript 复制代码
this.$message.success('操作成功');
this.$message.error('操作失败');

2. Dialog 对话框

支持自定义内容和异步关闭。

html 复制代码
<el-dialog title="提示" :visible.sync="dialogVisible" width="30%">
  <span>确认操作?</span>
  <span slot="footer">
    <el-button @click="dialogVisible = false">取消</el-button>
    <el-button type="primary" @click="confirmAction">确定</el-button>
  </span>
</el-dialog>

导航组件

1. Menu 菜单

支持水平/垂直布局和子菜单嵌套。

html 复制代码
<el-menu mode="horizontal" @select="handleMenuSelect">
  <el-menu-item index="1">首页</el-menu-item>
  <el-submenu index="2">
    <template slot="title">产品</template>
    <el-menu-item index="2-1">选项1</el-menu-item>
  </el-submenu>
</el-menu>

2. Tabs 标签页

切换不同内容区域。

html 复制代码
<el-tabs v-model="activeTab">
  <el-tab-pane label="用户管理" name="user">内容A</el-tab-pane>
  <el-tab-pane label="角色管理" name="role">内容B</el-tab-pane>
</el-tabs>

集成步骤

  1. 安装 ElementUI
bash 复制代码
npm install element-ui -S
  1. 全局引入
    main.js 中注册组件:
javascript 复制代码
import Vue from 'vue';
import ElementUI from 'element-ui';
import 'element-ui/lib/theme-chalk/index.css';

Vue.use(ElementUI);
  1. 按需引入(推荐)
    通过 babel-plugin-component 减少体积:
bash 复制代码
npm install babel-plugin-component -D

修改 babel.config.js

javascript 复制代码
module.exports = {
  plugins: [
    [
      "component",
      { "libraryName": "element-ui", "styleLibraryName": "theme-chalk" }
    ]
  ]
};

以上为 ElementUI 核心组件的简要介绍和基础用法,更多高级功能可参考官方文档

相关推荐
1314lay_10073 分钟前
Vue+C#根据配置文件实现动态构建查询条件和动态表格
javascript·vue.js·elementui·c#
SuperEugene7 分钟前
Vue3 前端配置驱动避坑:配置冗余、渲染性能、扩展性问题解决|配置驱动开发实战篇
前端·javascript·vue.js·驱动开发·前端框架
JianZhen✓10 分钟前
从零到一:基于声网Agora的医疗视频问诊前端实战指南
前端·音视频
GISer_Jing13 分钟前
LangChain浏览器Agent开发全攻略
前端·ai·langchain
小李子呢021121 分钟前
前端八股---脚手架工具Vue CLI(Webpack) vs Vite
前端·vue.js·webpack
2401_8858850423 分钟前
群发彩信接口怎么开发?企业级彩信发送说明
前端·python
PILIPALAPENG25 分钟前
第2周 Day 5:前端转型AI开发,朋友问我,你到底在折腾啥?
前端·人工智能·python
Mintopia30 分钟前
前端卡顿的真相:不是你代码慢,是你阻塞了
前端
kyriewen31 分钟前
可选链 `?.`——再也不用写一长串 `&&` 了!
前端·javascript·ecmascript 6
Mintopia33 分钟前
别再乱加缓存:一套判断"该不该缓存"的方法
前端