Vue--ElementUI组件库

2023-11-18

1.概述

Element官网

ElementUI是饿了么前端团队推出的一款基于Vue桌面端UI框架;和Boostrap一样对原生的HTML标签进行了封装、美化,让我们能够专注于业务逻辑而不是UI界面

默认情况下无论我们有没有使用到某个组件,在打包的时候都会将elementUI中所有的组件都打包到我们的项目中,这样就导致了项目体积大,用户访问慢;因此我们可以选择按需导入和按需打包即只会将我们用到的组件导入和打包在我们的项目中

PC端的后台系统适用于ElementUI组件库


2.流程

首先通过 vue create xxx 创建好 vue 项目

其次,你可以通过

npm i element-ui -S

以上方式安装 element,接着安装

npm install babel-plugin-component -D

然后在.babelrc 的文件里进行如下修改和配置:

{
  "presets": [["es2015", { "modules": false }]],
  "plugins": [
    [
      "component",
      {
        "libraryName": "element-ui",
        "styleLibraryName": "theme-chalk"
      }
    ]
  ]
}

再者,也可以通过 vue-cli@3 来安装,前提是你需要在全局先安装 @vue-cli  ,然后进入到你创建的 vue 项目里,通过  vue add element  命令来安装 element

注意:

  • Fully import -- 全引用,即一次性将所有的组件全部引入进去
  • Import on demand -- 按需加载,即根据自身的需求进入组件

最后,关于语言选择,我们默认选择第一个(简体中文):

 

 安装完成后,项目目录大致如下:

最后可以在plugins目录下新建一个名为element.js的文件,在该文件里写你需要引用的elementUI组件 ,然后在main.js里引入即可

然后,我们通过 npm run serve 来启动项目:

它会默认为我们添加一个 button 按钮


3.案例

下面我们就通过一个简单的案例来了解一下在实际项目中是如何使用 ElementUI 组件的:

App.vue

<template>
  <div id="app">
    <HeadeNav />
    <router-view></router-view>
  </div>
</template>

<script>
import HeadeNav from "./components/HeadNav/index.vue"

export default {
  name: 'app',
  components: {
    HeadeNav
  }
}
</script>

<style>
* {
  margin: 0;
  padding: 0;
}
</style>

src/components/HeadNav/index.vue

<template>
  <div>
      <el-menu :default-active="activeIndex" 
      class="el-menu-demo" 
      mode="horizontal" 
      @select="handleSelect"
      background-color="#545c64"
      text-color="#fff"
      active-text-color="#ffd04b"
      router
      >
          <el-menu-item index='/'>首页</el-menu-item>
          <el-menu-item index='/about'>关于</el-menu-item>
      </el-menu>
  </div>
</template>

<script>
export default {
    data () {
        return {
            activeIndex:"/"
        }
    },
    methods: {
        handleSelect(key,keyPath){
            // console.log(key);
            // console.log(keyPath);
        }
    }
}
</script>

<style>

</style>

src/plugins/element.js

import Vue from 'vue';
import {
    Pagination,
    Dialog,
    Autocomplete,
    Dropdown,
    DropdownMenu,
    DropdownItem,
    Menu,
    Submenu,
    MenuItem,
    MenuItemGroup,
    Input,
    InputNumber,
    Radio,
    RadioGroup,
    RadioButton,
    Checkbox,
    CheckboxButton,
    CheckboxGroup,
    Switch,
    Select,
    Option,
    OptionGroup,
    Button,
    ButtonGroup,
    Table,
    TableColumn,
    DatePicker,
    TimeSelect,
    TimePicker,
    Popover,
    Tooltip,
    Breadcrumb,
    BreadcrumbItem,
    Form,
    FormItem,
    Tabs,
    TabPane,
    Tag,
    Tree,
    Alert,
    Slider,
    Icon,
    Row,
    Col,
    Upload,
    Progress,
    Spinner,
    Badge,
    Card,
    Rate,
    Steps,
    Step,
    Carousel,
    CarouselItem,
    Collapse,
    CollapseItem,
    Cascader,
    ColorPicker,
    Transfer,
    Container,
    Header,
    Aside,
    Main,
    Footer,
    Timeline,
    TimelineItem,
    Link,
    Divider,
    Image,
    Calendar,
    Backtop,
    PageHeader,
    CascaderPanel,
    Loading,
    MessageBox,
    Message,
    Notification
} from 'element-ui';

Vue.use(Pagination);
Vue.use(Dialog);
Vue.use(Autocomplete);
Vue.use(Dropdown);
Vue.use(DropdownMenu);
Vue.use(DropdownItem);
Vue.use(Menu);
Vue.use(Submenu);
Vue.use(MenuItem);
Vue.use(MenuItemGroup);
Vue.use(Input);
Vue.use(InputNumber);
Vue.use(Radio);
Vue.use(RadioGroup);
Vue.use(RadioButton);
Vue.use(Checkbox);
Vue.use(CheckboxButton);
Vue.use(CheckboxGroup);
Vue.use(Switch);
Vue.use(Select);
Vue.use(Option);
Vue.use(OptionGroup);
Vue.use(Button);
Vue.use(ButtonGroup);
Vue.use(Table);
Vue.use(TableColumn);
Vue.use(DatePicker);
Vue.use(TimeSelect);
Vue.use(TimePicker);
Vue.use(Popover);
Vue.use(Tooltip);
Vue.use(Breadcrumb);
Vue.use(BreadcrumbItem);
Vue.use(Form);
Vue.use(FormItem);
Vue.use(Tabs);
Vue.use(TabPane);
Vue.use(Tag);
Vue.use(Tree);
Vue.use(Alert);
Vue.use(Slider);
Vue.use(Icon);
Vue.use(Row);
Vue.use(Col);
Vue.use(Upload);
Vue.use(Progress);
Vue.use(Spinner);
Vue.use(Badge);
Vue.use(Card);
Vue.use(Rate);
Vue.use(Steps);
Vue.use(Step);
Vue.use(Carousel);
Vue.use(CarouselItem);
Vue.use(Collapse);
Vue.use(CollapseItem);
Vue.use(Cascader);
Vue.use(ColorPicker);
Vue.use(Transfer);
Vue.use(Container);
Vue.use(Header);
Vue.use(Aside);
Vue.use(Main);
Vue.use(Footer);
Vue.use(Timeline);
Vue.use(TimelineItem);
Vue.use(Link);
Vue.use(Divider);
Vue.use(Image);
Vue.use(Calendar);
Vue.use(Backtop);
Vue.use(PageHeader);
Vue.use(CascaderPanel);

Vue.use(Loading.directive);

Vue.prototype.$loading = Loading.service;
Vue.prototype.$msgbox = MessageBox;
Vue.prototype.$alert = MessageBox.alert;
Vue.prototype.$confirm = MessageBox.confirm;
Vue.prototype.$prompt = MessageBox.prompt;
Vue.prototype.$notify = Notification;
Vue.prototype.$message = Message;

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Vue--ElementUI组件库 的相关文章

随机推荐

  • 王垠

    4 相关链接 王垠的Email shredderyin gmail com 王垠的自建博客 http www yinwang org 王垠的新浪博客 http blog sina com cn yinwang0 知乎上的 王垠 话题 htt
  • Windows脚本导入导出Mongodb数据库文件实现备份与恢复

    导出指定时间范围的数据 echo off setlocal rem 提前将MongoDB安装的bin路径加到系统环境变量PATH里面 方便直接运行mongodump命令 if not exist D MongoDB backup goto
  • js 原生导出 excel 文件

    const data name 张三 age 18 name 李四 age 20 const list 名字 t年龄 data map i gt i name t i age const blob new Blob list join n
  • quartz石英任务

    定时任务 quartz 的几大核心概念 Job 任务 我们需要完成的事情 要炸大本营 JobDetail 任务详情 任务怎么做 谁来做 执行任务需要的对象 数据信息等 张三 50吨TNT quartz 为了并发执行 Job 定义任务怎么执行
  • 安川服务器显示fn001,安川伺服辅助功能参数一览表

    辅助功能一览表 监视模式一览表 用户参数一览表 报警显示一览表 辅助功能一览表 Fn000 显示警报追踪备份数据 Fn001 设定在线自动调谐时的刚性 Fn002 微动 JOD 模式运行 Fn003 原点检索模式 Fn004 预约参数 请勿
  • Out of memory error on GPU 0. Cannot allocate xxxGB memory on GPU 0, available memory is only xxx

    本人刚刚入手cv 见解浅陋 如有不对请多多包含 根据从网上查找的资料 遇到这种情况一般有以下几种解决方法 1 在程序运行的前面添加如下代码 os environ FLAGS eager delete tensor gb 0 0 但是对我好像
  • 你也可以构建私有区块链网络

    这是我如何构建私有区块链网络的一篇文章 你也可以 没有什么比自己构建区块链更能帮助理解区块链了 以下是我们将在这篇文章中完成的内容 下图我们以前可能见过 但基本上以太坊区块链网络只是很多EVM 以太坊虚拟机 或连接到每个其他节点的 节点 来
  • DDcGAN:用于多分辨率图像融合的双判别器生成对抗网络

    目录 论文下载地址 代码下载地址 论文作者 模型讲解 背景介绍 论文解读 DDcGAN总体结构 损失函数 网络具体结构 生成器 判别器 医学影像的融合 结果分析 数据集以及参数设置 训练细节 评估指标 红外与可见光图像融合的结果与分析 对比
  • 2023安徽省“中银杯”职业技能大赛“网络安全” 项目比赛任务书

    2023安徽省 中银杯 职业技能大赛 网络安全 项目比赛任务书 2023安徽省 中银杯 职业技能大赛 网络安全 项目比赛任务书 A模块基础设施设置 安全加固 200分 A 1 登录安全加固 Windows Linux A 2 Nginx安全
  • 论文纠错(一)

    说说最近读的几篇论文的问题 果然有的论文还是不能细细地去读 一读就发现有问题 第一个是MSPCA里面的公式 7 到公式 8 那个Sr前面的2是不应该有的 也就是推导的时候出错了 第二个是GPUTENSOR里面的Gpu product的算法
  • BeyondCompare4破解

    转自 跳不出循环了 原文链接 https blog csdn net weixin 39298366 article details 84390224 将以下操作保存为bat文件 然后双击运行即可 reg delete HKEY CURRE
  • Flask数据库插件安装与配置教程

    Flask数据库插件安装与配置教程 数据插件安装 Flask使用数据库之前需要在python中安装额外的插件 这里主要用到Flask script 命令扩展解释器 PyMySQL 数据库驱动 Flask SQLAchemy ORM映射 和F
  • 【python实现网络爬虫22】唯品会商品信息实战步骤详解

    唯品会商品信息实战 1 目标网址和页面解析 2 爬虫初探 3 爬虫实操 3 1 进行商品id信息的爬取 3 2 商品id数据url构造 3 3 商品id数据格式转化及数量验证 3 4 商品详细信息获取 4 全部代码 手动反爬虫 原博地址 知
  • 可以用filament的示例material_sandbox来调整obj的pbr渲染参数,也有个gltf_viewer读取gltf模型

    如题 说不准以后导出文件就不用cesiumlab了 具体待查
  • 编程获取图像中的圆半径

    版权声明 本文为博主原创文章 转载请在显著位置标明本文出处以及作者网名 未经作者允许不得用于商业目的 即将推出EmguCV的教程 请大家还稍作等待 之前网友咨询如何获得图像中圆形的半径 其中有两个十字作为标定 十字之间距离为100mm 如下
  • 【每日运维】U盘启动盘安装 ESXi 6.7.0 安装卡在 loading /bnxtroce.v00

    问题描述 ESXi 6 7 0 安装进度卡在loading bnxtroce v00 进度处 处理方法 重新制作启动盘 写入方式改为 USB ZIP v2 设置服务器的 bios设置 启动方式改为 UEFI 重启开机安装即可
  • 打印数字三角及蛇形矩阵(C语言)

    题目描述 从键盘输入N 输出如下图所示的N行的数字三角 例如 N 5 那么输出如下 输入格式 输入一个整数N 1 lt N lt 45 输出格式 输出如题所示的数字三角形 为了输出美观 每个数字栈5个字符位 右对齐 即 5d 解题的思路 1
  • ISP(五) RGB、YUV与YCbCr的概念详解

    一 概念 首先要说明RGB YUV和YCbCr都是人为规定的彩色模型或颜色空间 有时也叫彩色系统或彩色空间 它的用途是在某些标准下用通常可接受的方式对彩色加以描述 1 RGB 红绿蓝 是依据人眼识别的颜色定义出的空间 可表示大部分颜色 但在
  • 浅谈逻辑漏洞中的越权访问漏洞

    越权漏洞 越权访问漏洞示意图 一 越权访问漏洞简介 1 类型 水平越权 通过更换的某个ID之类的身份标识 从而使A账号获得 增删查改 B账号的数据 垂直越权 使用低权限身份的账号 发送高权限账号的请求 获得其高权限的操作 未授权访问 通过删
  • Vue--ElementUI组件库

    1 概述 Element官网 ElementUI是饿了么前端团队推出的一款基于Vue桌面端UI框架 和Boostrap一样对原生的HTML标签进行了封装 美化 让我们能够专注于业务逻辑而不是UI界面 默认情况下无论我们有没有使用到某个组件