ElementUI浅尝辄止23:Loading 加载

这篇具有很好参考价值的文章主要介绍了ElementUI浅尝辄止23:Loading 加载。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

Loading加载组件:加载数据时显示动效。

常见于加载数据量大的业务操作,附带动态效果。

1.如何使用?区域加载

在表格等容器中加载数据时显示。

/*Element 提供了两种调用 Loading 的方法:指令和服务。对于自定义指令v-loading,只需要绑定Boolean即可。默认状况下,Loading 遮罩会插入到绑定元素的子节点,通过添加body修饰符,可以使遮罩插入至 DOM 中的 body 上。*/

<template>
  <el-table
    v-loading="loading"
    :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-column
      prop="address"
      label="地址">
    </el-table-column>
  </el-table>
</template>

<style>
  body {
    margin: 0;
  }
</style>

<script>
  export default {
    data() {
      return {
        tableData: [{
          date: '2016-05-03',
          name: '王小虎',
          address: '上海市普陀区金沙江路 1518 弄'
        }, {
          date: '2016-05-02',
          name: '王小虎',
          address: '上海市普陀区金沙江路 1518 弄'
        }, {
          date: '2016-05-04',
          name: '王小虎',
          address: '上海市普陀区金沙江路 1518 弄'
        }],
        loading: true
      };
    }
  };
</script>

2.自定义

可自定义加载文案、图标和背景色。

在绑定了v-loading指令的元素上添加element-loading-text属性,其值会被渲染为加载文案,并显示在加载图标的下方。类似地,element-loading-spinner和element-loading-background属性分别用来设定图标类名和背景色值。

<template>
  <el-table
    v-loading="loading"
    element-loading-text="拼命加载中"
    element-loading-spinner="el-icon-loading"
    element-loading-background="rgba(0, 0, 0, 0.8)"
    :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-column
      prop="address"
      label="地址">
    </el-table-column>
  </el-table>
</template>

<script>
  export default {
    data() {
      return {
        tableData: [{
          date: '2016-05-03',
          name: '王小虎',
          address: '上海市普陀区金沙江路 1518 弄'
        }, {
          date: '2016-05-02',
          name: '王小虎',
          address: '上海市普陀区金沙江路 1518 弄'
        }, {
          date: '2016-05-04',
          name: '王小虎',
          address: '上海市普陀区金沙江路 1518 弄'
        }],
        loading: true
      };
    }
  };
</script>

3.整页加载

页面数据加载时显示。

//当使用指令方式时,全屏遮罩需要添加fullscreen修饰符(遮罩会插入至 body 上),此时若需要锁定屏幕的滚动,可以使用lock修饰符;当使用服务方式时,遮罩默认即为全屏,无需额外设置。

<template>
  <el-button
    type="primary"
    @click="openFullScreen1"
    v-loading.fullscreen.lock="fullscreenLoading">
    指令方式
  </el-button>
  <el-button
    type="primary"
    @click="openFullScreen2">
    服务方式
  </el-button>
</template>

<script>
  export default {
    data() {
      return {
        fullscreenLoading: false
      }
    },
    methods: {
      openFullScreen1() {
        this.fullscreenLoading = true;
        setTimeout(() => {
          this.fullscreenLoading = false;
        }, 2000);
      },
      openFullScreen2() {
        const loading = this.$loading({
          lock: true,
          text: 'Loading',
          spinner: 'el-icon-loading',
          background: 'rgba(0, 0, 0, 0.7)'
        });
        setTimeout(() => {
          loading.close();
        }, 2000);
      }
    }
  }
</script>

4.服务

Loading 还可以以服务的方式调用。引入 Loading 服务:

import { Loading } from 'element-ui';

在需要调用时:

Loading.service(options);

其中 options 参数为 Loading 的配置项,具体见下表。LoadingService 会返回一个 Loading 实例,可通过调用该实例的 close 方法来关闭它:

let loadingInstance = Loading.service(options);
this.$nextTick(() => { // 以服务的方式调用的 Loading 需要异步关闭
  loadingInstance.close();
});

需要注意的是,以服务的方式调用的全屏 Loading 是单例的:若在前一个全屏 Loading 关闭前再次调用全屏 Loading,并不会创建一个新的 Loading 实例,而是返回现有全屏 Loading 的实例:

let loadingInstance1 = Loading.service({ fullscreen: true });
let loadingInstance2 = Loading.service({ fullscreen: true });
console.log(loadingInstance1 === loadingInstance2); // true

此时调用它们中任意一个的 close 方法都能关闭这个全屏 Loading。

如果完整引入了 Element,那么 Vue.prototype 上会有一个全局方法 $loading,它的调用方式为:this.$loading(options),同样会返回一个 Loading 实例。文章来源地址https://www.toymoban.com/news/detail-695597.html

到了这里,关于ElementUI浅尝辄止23:Loading 加载的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • ElementUI浅尝辄止26:Notification 通知

    悬浮出现在页面角落,显示全局的通知提醒消息。 适用性广泛的通知栏 带有 icon,常用来显示「成功、警告、消息、错误」类的系统消息 可以让 Notification 从屏幕四角中的任意一角弹出 使用 position 属性定义 Notification 的弹出位置,支持四个选项: top-right 、 top-left 、 bottom

    2024年02月09日
    浏览(33)
  • ElementUI浅尝辄止22:Alert 警告

    常见于消息提示或警告框。 页面中的非浮层元素,不会自动消失。 Alert 组件提供了两个不同的主题: light 和 dark 。 自定义关闭按钮为文字或其他符号。 表示某种状态时提升可读性。 使用  center  属性让文字水平居中 包含标题和内容,解释更详细的警告。  

    2024年02月09日
    浏览(37)
  • ElementUI浅尝辄止38:Upload 上传

    通过点击或者拖拽上传文件实现上传功能,常见于文件、文件夹或图片上传,使用挺频繁的。需要熟练掌握 通过 slot 你可以传入自定义的上传按钮类型和文字提示。可通过设置 limit 和 on-exceed 来限制上传文件的个数和定义超出限制时的行为。可通过设置 before-remove 来阻止文件

    2024年02月09日
    浏览(36)
  • ElementUI浅尝辄止18:Avatar 头像

    用图标、图片或者字符的形式展示用户或事物信息。 常用于管理系统或web网站的用户头像,在用户账户模块更换头像操作也能看到关于Avatar组件的应用。 通过  shape  和  size  设置头像的形状和大小。 支持三种类型:图标、图片和字符 当展示类型为图片的时候,图片加载失

    2024年02月09日
    浏览(40)
  • ElementUI浅尝辄止33:Form 表单

    包括各种表单项,比如输入框、选择器、开关、单选框、多选框等。 W3C 标准中有如下规定: When there is only one single-line text input field in a form, the user agent should accept Enter in that field as a request to submit the form. 即:当一个 form 元素中只有一个输入框时,在该输入框中按下回车应提交

    2024年02月09日
    浏览(37)
  • ElementUI浅尝辄止28:Dropdown 下拉菜单

    将动作或菜单折叠到下拉菜单中。 移动到下拉菜单上,展开更多操作。 可使用按钮触发下拉菜单。 可以配置 click 激活或者 hover 激活。 可以 hide-on-click 属性来配置。 点击菜单项后会触发事件,用户可以通过相应的菜单项 key 进行不同的操作 Dropdown 组件提供除了默认值以外的

    2024年02月09日
    浏览(64)
  • ElementUI浅尝辄止27:Steps 步骤条

    引导用户按照流程完成任务的分步导航条,可根据实际应用场景设定步骤,步骤不得少于 2 步。 设置 active 属性,接受一个 Number ,表明步骤的 index,从 0 开始。需要定宽的步骤条时,设置 space 属性即可,它接受 Number ,单位为 px ,如果不设置,则为自适应。设置 finish-stat

    2024年02月09日
    浏览(42)
  • ElementUI浅尝辄止36:Input 输入框

    通过鼠标或键盘输入字符 Input 为受控组件,它 总会显示 Vue 绑定值 。 通常情况下,应当处理  input  事件,并更新组件的绑定值(或使用 v-model )。否则,输入框内显示的值将不会改变。不支持  v-model  修饰符。 通过  disabled  属性指定是否禁用 input 组件 使用 clearable 属性

    2024年02月09日
    浏览(39)
  • ElementUI浅尝辄止32:NavMenu 导航菜单

    为网站提供导航功能的菜单。常用于网站平台顶部或侧边栏菜单导航。 垂直菜单,可内嵌子菜单。

    2024年02月09日
    浏览(32)
  • ElementUI浅尝辄止14:Carousel 走马灯

    在有限空间内,循环播放同一类型的图片、文字等内容 结合使用 el-carousel 和 el-carousel-item 标签就得到了一个走马灯。幻灯片的内容是任意的,需要放在 el-carousel-item 标签中。默认情况下,在鼠标 hover 时底部的指示器时就会触发切换。通过设置 trigger 属性为 click ,可以达到点

    2024年02月10日
    浏览(50)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包