首页 > 其他分享 >element-ui

element-ui

时间:2024-11-23 21:44:06浏览次数:6  
标签:el Dialog 表单 ui 设置 按钮 element 属性

官方文档 https://element.eleme.cn/#/zh-CN/component/input-number

安装和使用

安装

npm i element-ui -S

引入 Element

在 main.js 中写入以下内容:

import Vue from 'vue';
import ElementUI from 'element-ui';
import 'element-ui/lib/theme-chalk/index.css';
import App from './App.vue';

Vue.use(ElementUI);

new Vue({
  el: '#app',
  render: h => h(App)
});

组件

Layout 布局

Container 布局容器

用于布局的容器组件,方便快速搭建页面的基本结构:

<el-container>:外层容器。当子元素中包含 <el-header><el-footer> 时,全部子元素会垂直上下排列,否则会水平左右排列。

<el-header>:顶栏容器。

<el-aside>:侧边栏容器。

<el-main>:主要区域容器。

<el-footer>:底栏容器。

以上组件采用了 flex 布局,使用前请确定目标浏览器是否兼容。此外,<el-container> 的子元素只能是后四者,后四者的父元素也只能是 <el-container>

Icon 图标

直接通过设置类名为 el-icon-iconName 来使用即可

Button 按钮

使用typeplainroundcircle属性来定义 Button 的样式,禁用disable

<el-row>
  <el-button>默认按钮</el-button>
  <el-button type="primary">主要按钮</el-button>
  <el-button type="success" disabled>成功按钮</el-button>
  <el-button type="info">信息按钮</el-button>
  <el-button type="warning">警告按钮</el-button>
  <el-button type="danger">危险按钮</el-button>
</el-row>
参数 说明 类型 可选值 默认值
size 尺寸 string medium / small / mini
type 类型 string primary / success / warning / danger / info / text
plain 是否朴素按钮 boolean false
round 是否圆角按钮 boolean false
circle 是否圆形按钮 boolean false
loading 是否加载中状态 boolean false
disabled 是否禁用状态 boolean false
icon 图标类名 string
autofocus 是否默认聚焦 boolean false
native-type 原生 type 属性 string button / submit / reset button

Radio 单选框

要使用 Radio 组件,只需要设置v-model绑定变量,选中意味着变量的值为相应 Radio label属性的值,label可以是StringNumberBoolean

<template>
  <el-radio v-model="radio" label="1">备选项</el-radio>
  <el-radio v-model="radio" label="2">备选项</el-radio>
</template>

禁用

el-radio元素中设置disabled属性即可,它接受一个Booleantrue为禁用。

Checkbox 多选框

el-checkbox元素中定义v-model绑定变量,单一的checkbox中,默认绑定变量的值会是Boolean,选中为true

Input 输入框

<el-input v-model="input" placeholder="请输入内容"></el-input>

通过 disabled 属性指定是否禁用 input 组件

InputNumber 计数器

仅允许输入标准的数字值,可定义范围

el-input-number元素中使用v-model绑定变量即可,变量的初始值即为默认值

Select 选择器

v-model的值为当前被选中的el-option的 value 属性值

<template>
  <el-select v-model="value" placeholder="请选择">
    <el-option
      v-for="item in options"
      :key="item.value"
      :label="item.label"
      :value="item.value">
    </el-option>
  </el-select>
</template>

可清空单选:包含清空按钮,可将选择器清空为初始状态

el-select设置clearable属性,则可将选择器清空。需要注意的是,clearable属性仅适用于单选。

Cascader 级联选择器

只需为 Cascader 的options属性指定选项数组即可渲染出一个级联选择器。通过props.expandTrigger可以定义展开子级菜单的触发方式。

<div class="block">
  <span class="demonstration">默认 click 触发子菜单</span>
  <el-cascader
    v-model="value"
    :options="options"></el-cascader>
</div>

Switch 开关

绑定v-model到一个Boolean类型的变量。可以使用active-color属性与inactive-color属性来设置开关的背景色。

<el-switch
  v-model="value"
  active-color="#13ce66"
  inactive-color="#ff4949">
</el-switch>

TimePicker 时间选择器

使用 el-time-select 标签,分别通过startendstep指定可选的起始时间、结束时间和步长

DatePicker 日期选择器

基本单位由type属性指定。快捷选项需配置picker-options对象中的shortcuts,禁用日期通过 disabledDate 设置,传入函数

  <div class="block">
    <el-date-picker
      v-model="value1"
      type="date"
      placeholder="选择日期">
    </el-date-picker>
  </div>

DateTimePicker 日期时间选择器

通过设置type属性为datetime,即可在同一个选择器里同时进行日期和时间的选择。快捷选项的使用方法与 Date Picker 相同。

  <div class="block">
    <el-date-picker
      v-model="value1"
      type="datetime"
      placeholder="选择日期时间">
    </el-date-picker>
  </div>

Upload 上传

通过 slot 你可以传入自定义的上传按钮类型和文字提示。可通过设置limiton-exceed来限制上传文件的个数和定义超出限制时的行为。可通过设置before-remove来阻止文件移除操作。

<el-upload
  class="upload-demo"
  action="https://jsonplaceholder.typicode.com/posts/"
  :on-preview="handlePreview"
  :on-remove="handleRemove"
  :before-remove="beforeRemove"
  multiple
  :limit="3"
  :on-exceed="handleExceed"
  :file-list="fileList">
  <el-button size="small" type="primary">点击上传</el-button>
  <div slot="tip" class="el-upload__tip">只能上传jpg/png文件,且不超过500kb</div>
</el-upload>

Form 表单

在 Form 组件中,每一个表单域由一个 Form-Item 组件构成,表单域中可以放置各种类型的表单控件,包括 Input、Select、Checkbox、Radio、Switch、DatePicker、TimePicker

<el-form ref="form" :model="form" label-width="80px">
  <el-form-item label="活动名称">
    <el-input v-model="form.name"></el-input>
  </el-form-item>
</el-form>
  • 行内表单:

当垂直方向空间受限且表单较简单时,可以在一行内放置表单。设置 inline 属性可以让表单域变为行内的表单域

  • 表单验证:

Form 组件提供了表单验证的功能,只需要通过 rules 属性传入约定的验证规则,并将 Form-Item 的 prop 属性设置为需校验的字段名即可。校验规则参见 async-validator

Table 表格

el-table元素中注入data对象数组后,在el-table-column中用prop属性来对应对象中的键名即可填入数据,用label属性来定义表格的列名。可以使用width属性来定义列宽。

<el-table :data="tableData" style="width: 100%">
  <el-table-column
    prop="date"
    label="日期"
    width="180">
  </el-table-column>
  <el-table-column
    prop="name"
    label="姓名"
    width="180">
  </el-table-column>
</el-table>

默认情况下,Table 组件是不具有竖直方向的边框的,如果需要,可以使用border属性,它接受一个Boolean,设置为true即可启用。

  • 获取当前行数据

表格中的数据是已经显示过的,要想拿到当前表格中指定行数的数据时,则需要在template标签中添加这个属性即可

slot-scope=“scope” 同时写出一个点击事件的方法例如上述的编辑按钮,其中 scope.row就是拿到当前行的所有数据,如果要想拿到制定数据,则需要指定你当前行指定需要的数据的字段就好,如:scope.row.musicId

<el-table-column label="操作" align="center" min-width="100">
    <template slot-scope="scope">
        <el-button type="primary" @click="edit(scope.row)">编辑</el-button>
    </template>
</el-table-column>
  • formatter

用来格式化内容。默认参数 Function(row, column, cellValue, index),案例:后端返回1、0,前端显示为是、否

Pagination 分页

设置layout,表示需要显示的内容,用逗号分隔,布局元素会依次显示。prev表示上一页,next为下一页,pager表示页码列表,除此以外还提供了jumpertotalsizes和特殊的布局符号->->后的元素会靠右显示,jumper表示跳页元素,total表示总条目数,sizes用于设置每页显示的页码数量

  • 当前页码切换事件(current-change):@current-change='xx' currentPage 改变时会触发,事件传入当前页码,可以根据当前页码向后台获取当前页码的数据。

    单独使用current-change属性要实现双向绑定,可以使用 .sync 修饰符 :current-change.sync='currentPage'

  • 每页显示条数变更事件(size-change):@size-change='xx' pageSize 改变时会触发,事件传入的参数是当前每页显示的条数,可以根据当前每页显示的条数向后台获取当前页码的数据。

    单独使用page-size属性要实现双向绑定,可以使用 .sync 修饰符 :page-size.sync='pageSize'

<div class="block">
  <el-pagination
    layout="prev, pager, next"
    :total="1000">
  </el-pagination>
</div>

Empty 空状态

空状态时的占位提示。

<el-empty description="描述文字"></el-empty>

Descriptions 描述列表

列表形式展示多个字段。

<el-descriptions title="用户信息">
    <el-descriptions-item label="用户名">kooriookami</el-descriptions-item>
    <el-descriptions-item label="手机号">18100000000</el-descriptions-item>
    <el-descriptions-item label="居住地">苏州市</el-descriptions-item>
    <el-descriptions-item label="备注">
      <el-tag size="small">学校</el-tag>
    </el-descriptions-item>
    <el-descriptions-item label="联系地址">江苏省苏州市吴中区吴中大道 1188 号</el-descriptions-item>
</el-descriptions>

Statistic 统计数值

<el-statistic group-separator="," :precision="2" :value="12333" :title="统计"></el-statistic>

Message 消息提示

Message 在配置上与 Notification 非常类似,所以部分 options 在此不做详尽解释,文末有 options 列表,可以结合 Notification 的文档理解它们。Element 注册了一个$message方法用于调用,Message 可以接收一个字符串或一个 VNode 作为参数,它会被显示为正文内容。

<template>
  <el-button :plain="true" @click="open">打开消息提示</el-button>
</template>

<script>
  export default {
    methods: {
      open() {
        this.$message('这是一条消息提示');
      },
</script>

Notification 通知

悬浮出现在页面角落,显示全局的通知提醒消息。

Notification 组件提供通知功能,Element 注册了$notify方法,接收一个options字面量参数,在最简单的情况下,你可以设置title字段和message字段,用于设置通知的标题和正文。默认情况下,经过一段时间后 Notification 组件会自动关闭,但是通过设置duration,可以控制关闭的时间间隔,特别的是,如果设置为0,则不会自动关闭。注意:duration接收一个Number,单位为毫秒,默认为4500

显示当前页面的路径,快速返回之前的任意页面。

el-breadcrumb中使用el-breadcrumb-item标签表示从首页开始的每一级。Element 提供了一个separator属性,在el-breadcrumb标签中设置它来决定分隔符,它只能是字符串,默认为斜杠/

<el-breadcrumb separator="/">
  <el-breadcrumb-item :to="{ path: '/' }">首页</el-breadcrumb-item>
  <el-breadcrumb-item><a href="/">活动管理</a></el-breadcrumb-item>
  <el-breadcrumb-item>活动列表</el-breadcrumb-item>
  <el-breadcrumb-item>活动详情</el-breadcrumb-item>
</el-breadcrumb>

将动作或菜单折叠到下拉菜单中。

通过组件slot来设置下拉触发的元素以及需要通过具名slotdropdown 来设置下拉菜单。默认情况下,下拉按钮只要hover即可,无需点击也会显示下拉菜单。

<el-dropdown>
  <span class="el-dropdown-link">
    下拉菜单<i class="el-icon-arrow-down el-icon--right"></i>
  </span>
  <el-dropdown-menu slot="dropdown">
    <el-dropdown-item>黄金糕</el-dropdown-item>
    <el-dropdown-item>狮子头</el-dropdown-item>
    <el-dropdown-item>螺蛳粉</el-dropdown-item>
    <el-dropdown-item disabled>双皮奶</el-dropdown-item>
    <el-dropdown-item divided>蚵仔煎</el-dropdown-item>
  </el-dropdown-menu>
</el-dropdown>

Dialog 对话框

Dialog 弹出一个对话框,适合需要定制性更大的场景。

需要设置visible属性,它接收Boolean,当为true时显示 Dialog。Dialog 分为两个部分:bodyfooterfooter需要具名为footerslottitle属性用于定义标题,它是可选的,默认值为空。最后,本例还展示了before-close的用法。

before-close 仅当用户通过点击关闭图标或遮罩关闭 Dialog 时起效。如果你在 footer 具名 slot 里添加了用于关闭 Dialog 的按钮,那么可以在按钮的点击回调函数里加入 before-close 的相关逻辑。

Dialog 组件的内容可以是任意的,甚至可以是表格或表单

<el-button type="text" @click="dialogVisible = true">点击打开 Dialog</el-button>

<el-dialog
  title="提示"
  :visible.sync="dialogVisible"
  width="30%"
  :before-close="handleClose">
  <span>这是一段信息</span>
  <span slot="footer" class="dialog-footer">
    <el-button @click="dialogVisible = false">取 消</el-button>
    <el-button type="primary" @click="dialogVisible = false">确 定</el-button>
  </span>
</el-dialog>

<script>
  export default {
    data() {
      return {
        dialogVisible: false
      };
    },
    methods: {
      handleClose(done) {
        this.$confirm('确认关闭?')
          .then(_ => {
            done();
          })
          .catch(_ => {});
      }
    }
  };
</script>

Dialog 的内容是懒渲染的,即在第一次被打开之前,传入的默认 slot 不会被渲染到 DOM 上。因此,如果需要执行 DOM 操作,或通过 ref 获取相应组件,请在 open 事件回调中进行。

如果 visible 属性绑定的变量位于 Vuex 的 store 内,那么 .sync 不会正常工作。此时需要去除 .sync 修饰符,同时监听 Dialog 的 openclose 事件,在事件回调中执行 Vuex 中对应的 mutation 更新 visible 属性绑定的变量的值。

Tooltip 文字提示

常用于展示鼠标 hover 时的提示信息。

使用content属性来决定hover时的提示信息。由placement属性决定展示效果:placement属性值为:方向-对齐位置;四个方向:topleftrightbottom;三种对齐位置:start, end,默认为空。如placement="left-end",则提示信息出现在目标元素的左侧,且提示信息的底部与目标元素的底部对齐。

Popconfirm 气泡确认框

点击元素,弹出气泡确认框

在 Popconfirm 中,只有 title 属性可用,content 属性不会被展示

在有限空间内,循环播放同一类型的图片、文字等内容

结合使用el-carouselel-carousel-item标签就得到了一个走马灯。幻灯片的内容是任意的,需要放在el-carousel-item标签中。默认情况下,在鼠标 hover 底部的指示器时就会触发切换。通过设置trigger属性为click,可以达到点击触发的效果。

Collapse 折叠面板

通过折叠面板收纳内容区域

Divider 分割线

区隔内容的分割线。

Drawer 抽屉

有些时候, Dialog 组件并不满足我们的需求, 比如你的表单很长, 亦或是你需要临时展示一些文档, Drawer 拥有和 Dialog 几乎相同的 API, 在 UI 上带来不一样的体验.

标签:el,Dialog,表单,ui,设置,按钮,element,属性
From: https://www.cnblogs.com/yjh1995/p/18565111

相关文章

  • VUE:quill修改默认拷贝图片base64的行为--富文本复制图片变成上传
    富文本quill 1.3.7实现: window.addEventListener('paste',(event)=>{if(event.clipboardData&&event.clipboardData?.files&&event.clipboardData.files?.length){//阻止默认拷贝事件event.preventDefa......
  • 理解原子变量之四:可见性、memory_order_acquire与 memory_order_release
    在理解原子变量之二:从volatile到内存序-进一步的认识-CSDN博客里的实例3里面,我们看到,如果在一个线程里修改原子变量done,另一个线程读取done时,就会看到这个变化。这就是原子变量的可见性。其实这个认识是不全面的。在std::memory_order-cppreference.com里面这样描述可见性:......
  • DAMODEL | 基于丹摩智算部署SD3+ComfyUI文生图
    目录文章前言SD3+ComfyUI文生图部署步骤1.1、实例创建操作步骤从HF-mirror下载SD3模型安装git安装ComfyUI文章声明:非广告,仅是个人体验文章前言随着人工智能技术的飞速发展,文本生成图像(Text-to-Image,T2I)技术逐渐成为计算机视觉与自然语言处理交叉领域的研究热......
  • CF1974D Ingenuity-2
    基本思路贪就完了。首先要明确的是,在任何时刻都须保证机器人之间的距离最近。因此,当某一时刻一个机器人的横坐标(或纵坐标)小于另一个机器人时,需要增加横坐标(或纵坐标);横坐标(或纵坐标)大于另一个机器人时,需要减少横坐标(或纵坐标)。另外,题目中给到“都分配给两个机器人”这一条件,因......
  • 软件测试报告-布里斯托网址/曼彻斯特网址的自动化测试Testsuite.side和用户故事UserSt
    软件测试报告-布里斯托网址/曼彻斯特网址的自动化测试Testsuite.side和用户故事UserStory和java_code曼切斯特/java+junit+seleniumIDE+side软件测试实现/布里斯托bristol.ac.uk的LinkGraphAdequacy 也就是userstory软件测试#testsuites.side 执行日志log先演示......
  • element-pluls中的动态el-menu中遇到的问题
    问题一:点击菜单路由没效果el-menu中添加  router<el-menuactive-text-color="#f9cc4b"text-color="white"background-color="#63779c"class="el-menu-vertical-demo"router:collapse="isCollapse"......
  • 关于GUI的一个事情
    目前从事鸿蒙的一个工作,发现ArkUI虽然用了@State来标记一个变量然后当变量值改变的时候变量开始界面更新,所以当你想直接访问UI的时候是不太方便的。而我自己用的UI是Duilib,因为我有完整的UE的蓝图界面设计的经验,这里我觉得蓝图比较符合我自己的使用经验,那就是当我需要访问界面上......
  • WPF 手把手教你写跨线程UI控件
    多线程UI,是winform里面是一件非常简单的事情,然而在WPF里面,想要做到跨线程的UI渲染,可就没那么简单了。我们知道,在Winform中,我们只需要在多线程里直接new一个新的窗口就可以实现多线程UI了。这对我们解决UI卡顿的问题有一定的帮助。今天我们重点来学习一下,在WPF程序中,怎么去实......
  • WPF异步UI交互功能的实现方法
    前面的文章我们提及过,异步UI的基础实现。基本思路主要是开启新的UI线程,并通过VisualTarget将UI线程上的Visual(即RootVisual)连接到主线程上的UI上即可渲染显示。但是,之前的实现访问是没有交互能力的,视觉树上的UI并不能实现鼠标事件。那么今天我们就把交互的工作也给完成了。......
  • Android 12.0 SystemUI低电量禁止打开手电筒功能实现
    1.前言在12.0的系统rom定制化开发中,在systemui下拉状态栏中可以通过手电筒开关来打开关闭手电筒功能,而在最近的开发中,需要在低电量的情况下禁止打开手电筒,接下来判断打开手电筒之前的当前电量,低电量模式返回就可以了接下来具体实现相关功能2.SystemUI低电量禁止打开手电筒......