element-ui组件学习

element-ui组件的大致分类

element-ui的组件大致分为以下几类:

  • Basic
  • Form
  • Data
  • Notice
  • Navigation
  • Other

组件分类的大致意思

  • basic组件类型

    是一些关于页面布局、按钮和icon等相关类型的组件。

    关于布局方面有Layout栅格布局和Container布局容器等等

    Layout布局:

在这里插入图片描述

Container容器布局:

在这里插入图片描述

  • form组件类型

    form包含了所有与表单相关的组件

    比如Upload上传组件

在这里插入图片描述

  • data组件类型

    data组件类型是展示数据的显示方式

    data组件类型中的Table组件,是以table表格的形式将数据显示出来

在这里插入图片描述

还比如data组件类型中的Tree树形控件,就是将数据以树状的形态展示出来,结构清晰明了。

在这里插入图片描述

  • Notice组件类型

    该组件类型主要是给用户一些提示信息。

    比如Alert警告、Loading加载、Message消息提示、MessageBox弹框以及Notification通知。

    前面两个都是使用html标签的形式经行展示。后面的三种都是通过调用API的形式进行展示

    使用html标签形式经行展示:

    <el-alert
        title="成功提示的文案"
        type="success">
      </el-alert>
    

在这里插入图片描述

调用API进行展示:

this.$confirm('此操作将永久删除该文件, 是否继续?', '提示', {
          confirmButtonText: '确定',
          cancelButtonText: '取消',
          type: 'warning'
        }).then(() => {
          this.$message({
            type: 'success',
            message: '删除成功!'
          });
        }).catch(() => {
          this.$message({
            type: 'info',
            message: '已取消删除'
          });          
        });

在这里插入图片描述

  • Navigation组件类型

    为网站提供导航功能的菜单

    一般有NavMenu导航菜单、BreadMenu面包屑导航等这些组件

    NavMenu效果展示:
    在这里插入图片描述

    BreadMenu效果展示:

在这里插入图片描述

  • Others组件类型

    用的比较多的就是Dialog对话框和Tootip文字提示

    Dialog对话框就是不用多说,就是一个卡片视图的对话框。

    至于Tootip的效果就是当鼠标放在某个元素上时,会出现一个小的提示框,对这个元素经行一些提示

    Dialog对话框:

    在这里插入图片描述

    Tootip提示box:

在这里插入图片描述

element-ui中有的组件需要注意的点

  • MessageBox弹框

    如上面所说的,MessageBox弹框是一种使用API方式进行调用的组件。具体的代码如下:

    this.$confirm('此操作将永久删除该文件, 是否继续?', '提示', {
              confirmButtonText: '确定',
              cancelButtonText: '取消',
              type: 'warning'
            }).then(() => {
              this.$message({
                type: 'success',
                message: '删除成功!'
              });
            }).catch(() => {
              this.$message({
                type: 'info',
                message: '已取消删除'
              });          
            });
    

    以上是官方提供的源代码,但是当我学习了async/await这种解决异步问题的语法之后,我们要对这个promise的API进行改造:

    // 在前面要对调用该API的函数前加上async
    
    const resultStr = await this.$confirm('此操作将永久删除该文件, 是否继续?', '提示', {
              confirmButtonText: '确定',
              cancelButtonText: '取消',
              type: 'warning'
            }).catch(err => err)
    // 注意后面一定要加上捕获错误的函数catch,否则调用时会出错
    // 这个promise对象会返回两个字符串值,cancel和confirm。
    // 可以根据返回值做之后的逻辑处理
    if(resultStr===confirm){
        ...
    }else if(resultStr===cancel){
        ...
    }
    
  • Upload上传

在这里插入图片描述

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

注意:这里的Upload有一个坑,就是在上传的时候没有调用自己本地设置的axios请求拦截器

一般axios请求拦截器会设置一项携带token的设置,但是Upload组件并不会使用拦截器,而是在封装的时候调用自己内部的设置

所以要使用Upload本身的一个属性,来使这个组件携带token值 ===> headers属性,接收一个对象

<el-upload :headers=''headersObj>
 
</el-upload>

data(){
    return {
        headersObj:{
            Authorization:window.sessionStorage.getItem('token)
        }
    }
}
  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值