Element-UI

news2024/9/22 15:45:14

目录

Layout 布局

按钮组件结合 el-icon 使用

单选框

复选框

日期组件

表格

分页

对话框

表单验证


        Element-UI是由饿了么前端团队开发的一套基于Vue.js的桌面端组件库,包含了多个常用的UI组件,如按钮、输入框、表格、弹窗等,可以快速地搭建一个现代化的Web应用程序。一个 Vue 3 UI 框架 | Element Plus (gitee.io)https://element-plus.gitee.io/zh-CN/

//注册Element-UI插件
import ElementUI from 'element-plus';
import 'element-plus/theme-chalk/index.css';
//注册Element Plus的图标组件
import * as ElIcons from '@element-plus/icons-vue'
const app = createApp(App);
for(const iconName in  ElIcons){
    app.component(iconName,ElIcons[iconName]);
}
//本地化语言为中文
import zhCn from 'element-plus/dist/locale/zh-cn.mjs'
app.use(router).use(ElementUI, {
    locale: zhCn,
}).mount("#app");

Layout 布局

通过基础的 24 分栏,迅速简便地创建布局。

 <div>
    <el-row>
        <el-col :span="8" style="background-color: red">网格1</el-col>
        <el-col :span="10" style="background-color: green">网格2</el-col>
        <el-col :span="6" style="background-color: dodgerblue">网格3</el-col>
    </el-row>
  </div>

网格分栏中可以继续嵌套 

    <el-row>
      <el-col :span="6">网格1</el-col>

      <el-col :span="18">
        <el-row>
          <el-col :span="10">网格2.1</el-col>
          <el-col :span="14">网格2.2</el-col>
        </el-row>
      </el-col>
    </el-row>

按钮组件结合 el-icon 使用

   <el-button type="primary">添加<el-icon><Plus /></el-icon></el-button>
   <el-button type="danger">删除<el-icon><DeleteFilled /></el-icon></el-button>
   <el-button type="info">修改<el-icon><Edit /></el-icon></el-button>
   <el-button type="success">查询<el-icon><Search /></el-icon></el-button>

单选框

      <el-radio-group v-model="sex">
        <el-radio label="男">男</el-radio>
        <el-radio label="女">女</el-radio>
        <el-radio label="不限">不限</el-radio>
      </el-radio-group>

复选框

  <el-checkbox-group v-model="checkList">
      <el-checkbox label="唱" />
      <el-checkbox label="跳" />
      <el-checkbox label="rap" />
      <el-checkbox label="篮球" disabled />
  </el-checkbox-group>

lable相当于单选框的value属性,如果值为中文,注意把lable冒号去掉,或者用单引号引起来

日期组件

<el-date-picker
        v-model="birthday"
        type="date"
        placeholder="请选择生日"
        :size="size"
        value-format="YYYY-MM-DD"
    />

表格

<el-table :data="userList" style="width: 100%" border="1">
      <el-table-column prop="id" label="编号"  />
      <el-table-column prop="name" label="姓名" />
      <el-table-column prop="birthday" label="生日" />
      <el-table-column prop="phone" label="电话" />
      <el-table-column fixed="right" label="操作" width="">
        <template #default="scope">
          <el-button link type="primary" size="small" @click="del(scope.row)">
              删除</el-button>
          <el-button link type="primary" size="small">修改</el-button>
        </template>
      </el-table-column>
</el-table>

prop 表示当前列对应的属性名

lable 表示表头的文本内容

scope.row 代表当前行对象

分页

<el-pagination
        v-model:current-page="pageNO"
        v-model:page-size="pageSize"
        background
        layout="prev, pager, next, jumper"
        :total="count"
        @current-change="findByItem"
/>

current-page="pageNO"    当前页码
page-size="pageSize"   每页显示记录数
:total="count"   总记录数
@current-change="findByItem"  点击页码,触发的事件

它的页码是自动注入的,findByItem方法不需要传参可以直接获取到页码

对话框

<el-button type="primary" @click="showAdd=true">添加</el-button>
    <el-dialog
        v-model="showAdd"
        title="标题"
        width="50%"
    >
      <span>对话框 正文</span>
      <template #footer>
      <span class="dialog-footer">
        <el-button type="success" @click="showAdd = false">确定</el-button>
        <el-button type="primary" @click="showAdd = false">取消</el-button>
      </span>
      </template>
</el-dialog>

showAdd控制显示隐藏

表单验证

<el-form
        ref="ruleFormRef"
        :model="studentObj"
        :rules="rules"
        label-width="120px"
        class="demo-ruleForm"
        :size="formSize"
        status-icon
    >
      <el-form-item label="姓名" prop="name">
        <el-input v-model="studentObj.name" />
      </el-form-item>
      <el-form-item label="电话" prop="phone">
        <el-input v-model="studentObj.phone" />
      </el-form-item>
      <el-form-item label="邮箱" prop="email">
        <el-input v-model="studentObj.email" />
      </el-form-item>
      <el-form-item>
        <el-button type="primary" @click="submitForm()">Create</el-button>
        <el-button @click="resetForm(ruleFormRef)">Reset</el-button>
      </el-form-item>
</el-form>

ref="ruleFormRef"       表单唯一标识id
:model="studentObj"      模型对象
:rules="rules"        验证规则

Menu菜单

  <el-row>
//这个组件会渲染在一个包含了4个栅格的列中
      <el-col :span="4">
        <el-menu
            default-active="2"
            class="el-menu-vertical-demo"
            @open="handleOpen"
            @close="handleClose"
        >
          <el-sub-menu index="1">
            <template #title>
              <el-icon><location /></el-icon>
              <span> 班级管理</span>
            </template>
            <el-menu-item-group title="Group One">
              <el-menu-item index="1-1">新班管理</el-menu-item>
              <el-menu-item index="1-2">班级信息</el-menu-item>
              <el-menu-item index="1-3">班级物资</el-menu-item>
            </el-menu-item-group>
          </el-sub-menu>
          <el-sub-menu index="2">
            <template #title>
              <el-icon><location /></el-icon>
              <span> 学生管理</span>
            </template>
            <el-menu-item-group title="Group One">
              <el-menu-item index="2-1">新班管理</el-menu-item>
              <el-menu-item index="2-2">学生信息</el-menu-item>
              <el-menu-item index="2-3">学生统计</el-menu-item>
            </el-menu-item-group>
          </el-sub-menu>
          <el-sub-menu index="3">
            <template #title>
              <el-icon><location /></el-icon>
              <span>element-Ui</span>
            </template>
            <el-menu-item-group >
              <el-menu-item index="3-1" @click="$router.push('/ui/base')">基础组件</el-menu-item>
              <el-menu-item index="3-2" @click="$router.push('/ui/form')">表格</el-menu-item>
              <el-menu-item index="3-3">表单</el-menu-item>
            </el-menu-item-group>
          </el-sub-menu>
        </el-menu>
      </el-col>
//用于渲染一个单独的视图组件,渲染在一个包含了20个栅格的列中
      <el-col :span="20">
          <router-view></router-view>
      </el-col>
    </el-row>

一键勾选默认值 

界面

   <el-checkbox-group v-model="selectGradeArray">
      <el-checkbox v-for="g in gradeArray" :label="g.id" >{{g.name}}</el-checkbox>
    </el-checkbox-group>
    {{selectGradeArray}}
    <el-button type="primary" @click="init">初始化</el-button>

数据 

     selectGradeArray:[],
     array1:[{id:1,name:"添加用户"},{id:4,name:"查询用户"},{id:5,name:"报表查询"}],

函数 

init(){
      //this.selectGradeArray=this.gradeArray.map(n=>n.id)  全选
      this.selectGradeArray=this.array1.map(n=>n.id);
    },

利用Array.map()方法,将默认的权限数组中所有元素的id属性提取出来,将它们存储在selectGradeArray中。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/506540.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

5.QT应用程序主窗口

本章代码见文末链接 主窗口框架 新建Qt Wisgets项目mymainwindow&#xff0c;类名默认MainWindow&#xff0c;基类默认QMainWindow 更改文字如图&#xff0c;如果中文无法直接输入&#xff0c;可以试试复制粘贴 “动作编辑器”中&#xff08;默认在右下角&#xff09;&…

AI数字人系统搭建源码

AI数字人系统的功能可以根据具体应用场景而定&#xff0c;以下是一些可能的功能&#xff1a; 语音识别和合成&#xff1a;将自然语言转换为机器可读的文本&#xff0c;或将机器生成的文本转换为自然语言的语音输出。 面部表情捕捉&#xff1a;利用摄像头等设备获取用户…

2023鲁大师评测沟通会:鲁大师尊享版登场、“鲁小车”正式上线

作为硬件评测界的“老兵”&#xff0c;鲁大师不仅有着十几年的硬件评测经验&#xff0c;并且一直都在不断地尝试、不断地推陈出新。在5月9日举行的“2023年鲁大师评测沟通会”上&#xff0c;鲁大师向大众展示了在过去一年间取得的成果。 PC业务迭代升级&#xff0c;鲁大师客户端…

day(2,3)-内核模块

内核模块上 主要内容 向内核添加新功能 内核模块基础代码讲解 内核模块多源文件编程 内核模块信息宏 一、向内核添加新功能 1.1 静态加载法&#xff1a; 即新功能源码与内核其它代码一起编译进uImage文件内 Kconfig是make menuconfig的界面配置文件 1.2动态加载法&am…

Yolov8改进---注意力机制:DoubleAttention、SKAttention,SENet进阶版本

目录 🏆🏆🏆🏆🏆🏆Yolov8魔术师🏆🏆🏆🏆🏆🏆 1. DoubleAttention 2. SKAttention 3.总结

2022-4-4基于单片机的MQ2烟雾传感器报警系统设计

基于单片机的MQ2烟雾传感器报警系统设计 源代码和仿真图及MQ2相关资料可在文末的链接中下载 该系统实现的功能&#xff1a;检测空气中的烟雾浓度并实现超阈值报警 该系统组成由&#xff1a; 单片机最小系统、ADC0832、MQ2烟雾传感器、LCD1602液晶模块、声光报警模块、按键模…

研究人员发现微软Azure API管理服务存在3个漏洞

微软Azure API管理服务中披露了三个新的安全漏洞&#xff0c;恶意行为者可能会滥用这些漏洞来访问敏感信息或后端服务。 据以色列云安全公司Ermetic称&#xff0c;这包括两个服务器端请求伪造(SSRF)漏洞和API管理开发人员门户中的一个不受限制的文件上传功能实例。 安全研究员…

【腾讯云 Finops Crane 集训营】Crane应用实战

文章目录 前言一、Crane是什么&#xff1f;二、Crane的特点三、Crane使用1、环境准备2、安装Crane3、访问dashboard4、页面展示5、功能应用 四、Crane的优势总结 前言 FinOps&#xff08;Financial Operations&#xff09;是一种管理云计算成本的方法&#xff0c;它强调将云计…

使用PyTorch构建神经网络,并使用thop计算参数和FLOPs

文章目录 使用PyTorch构建神经网络&#xff0c;并使用thop计算参数和FLOPsFLOPs和FLOPS区别使用PyTorch搭建神经网络整体代码1. 导入必要的库2. 定义神经网络模型3. 打印网络结构4. 计算网络FLOPs和参数数量5. 结果如下手动计算params手动计算FLOPs注意 使用PyTorch构建神经网络…

车联网强势发展下,有什么隐患?

通过新一代信息通信技术&#xff0c;车联网实现了汽车与云平台&#xff0c;车辆和汽车&#xff0c;道路&#xff0c;汽车和人以及内部的全方位网络链接。车联网使用传感器技术感知车辆的状态信息&#xff0c;并利用无线通信网络和现代智能信息处理技术的帮助实现交通智能化管理…

FPGA入门系列10--按键消抖

文章简介 本系列文章主要针对FPGA初学者编写&#xff0c;包括FPGA的模块书写、基础语法、状态机、RAM、UART、SPI、VGA、以及功能验证等。将每一个知识点作为一个章节进行讲解&#xff0c;旨在更快速的提升初学者在FPGA开发方面的能力&#xff0c;每一个章节中都有针对性的代码…

Redis高可用系列——Set类型底层详解

文章目录 概述intsetintset 和 hashtable 的转换为什么加入了listpackhashtable 的空间开销高hashtable 的碰撞概率高intset 、listpack和hashtable的转换 概述 在讲解set结构之前&#xff0c;需要先说明一下set结构编码的更替&#xff0c;如下 在Redis7.2之前&#xff0c;se…

Ansys Lumerical | CMOS - 光学仿真方法

通过使用更小的像素尺寸和更大的填充因子&#xff0c;基于CMOS图像传感器像素的数码相机系统的成本正在降低。但是&#xff0c;只有在不牺牲图像质量的情况下&#xff0c;CMOS像素尺寸减小才是可以接受的。随着CMOS像素尺寸的不断减小&#xff0c;图像信噪比降低&#xff0c;相…

《我命由我不由天》蔡志忠——笔记一

目录 简介 经典摘录 三岁决定一生 父母该什么时候放手 确定将来要成为什么 积极主动为目标而努力 叛逆是最伟大的创意 父亲给蔡志忠最大的影响是教会他两件事 价值观缺陷导致的后果 人有三个阶段 简介 作者 蔡志忠&#xff0c;李虹。 蔡志忠&#xff1a;漫画家、哲…

力扣-1769. 移动所有球到每个盒子所需的最小操作数

题目&#xff1a; 有 n 个盒子。给你一个长度为 n 的二进制字符串 boxes &#xff0c;其中 boxes[i] 的值为 ‘0’ 表示第 i 个盒子是 空 的&#xff0c;而 boxes[i] 的值为 ‘1’ 表示盒子里有 一个 小球。 在一步操作中&#xff0c;你可以将 一个 小球从某个盒子移动到一个与…

搜索引擎优化SEO和SEM有什么不一样

SEO&#xff08;搜索引擎优化&#xff09;和SEM&#xff08;搜索引擎营销&#xff09;都是用于提高网站在搜索引擎中的排名和能见度的技术。虽然它们的目标是相同的&#xff0c;但它们的方法和重点略有不同&#xff0c;今天和大家聊聊SEO和SEM有什么不同。 一、SEO SEO是指通…

红帽8配置yum源

使用传输工具 上传文件到/etc/yum.repos.d/ 或 wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-8.repo 注&#xff1a;不能下载wget直接上传文件 关闭订阅插件提示 [redhatroot ~]$ vi /etc/yum.conf #添加 plugins0 [redhatroot ~]$ …

docker+jenkins自动化部署springboot项目

前置:环境配置 阿里云服务器1核2GBjava 1.8.0._371maven apache-maven3.8.8git 1.8.3.1 docker和jenkins在一台服务器上&#xff0c;环境的配置&#xff0c;对于java和maven可以自己下载对应tar包进行配置&#xff0c;记得配置环境&#xff0c;也可以使用yum进行安装。记得配置…

FS5175AE降压型1-4节锂电池充电芯片

FS5175AE是一款工作于5V到24V的多串锂电池同步开关降压充电管理芯片。内置MOS管集成了低导通阻抗的NMOS&#xff0c;FS5175AE采用1MHz同步开关架构&#xff0c;实现高 效率充电并简化外围器件&#xff0c;降低BOM成本。通过调节检测电阻&#xff0c;可实现**2A充电电流&#xf…

【Java校招面试】基础知识(八)——Linux服务器

目录 前言一、基础概念二、常用命令后记 前言 本篇主要介绍Linux服务器的相关内容。 “基础知识”是本专栏的第一个部分&#xff0c;本篇博文是第八篇博文&#xff0c;如有需要&#xff0c;可&#xff1a; 点击这里&#xff0c;返回本专栏的索引文章点击这里&#xff0c;返回…