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 核心组件的简要介绍和基础用法,更多高级功能可参考官方文档

相关推荐
小桥风满袖2 小时前
极简三分钟ES6 - 迭代器Iterator
前端·javascript
lichong9513 小时前
【混合开发】vue+Android、iPhone、鸿蒙、win、macOS、Linux之android 把assert里的dist.zip 包解压到sd卡里
android·vue.js·iphone
JarvanMo3 小时前
提升生产力:每个 iOS 开发者都应该知道的 10 个 Xcode 技巧
前端
玲小珑3 小时前
LangChain.js 完全开发手册(七)RAG(检索增强生成)架构设计与实现
前端·langchain·ai编程
前端小巷子3 小时前
原生 JS 打造三级联动
前端·javascript·面试
江城开朗的豌豆3 小时前
useEffect vs componentDidUpdate:谁才是真正的更新之王?
前端·javascript·react.js
江城开朗的豌豆3 小时前
解密useEffect:让副作用无所遁形!
前端·javascript·react.js
IT_陈寒4 小时前
SpringBoot性能翻倍的7个隐藏配置,90%开发者从不知道!
前端·人工智能·后端
CODE_RabbitV4 小时前
【1分钟速通】 HTML快速入门
前端·html