Skip to content
On this page

加载条 LoadingBar

全局创建一个显示页面加载、异步请求、文件上传等的加载进度条。

说明

LoadingBar 只会在全局创建一个,因此在任何位置调用的方法都会控制这同一个组件。 主要使用场景是路由切换和Ajax,因为这两者都不能拿到精确的进度,LoadingBar 会模拟进度, 当然也可以通过update() 方法来传入一个精确的进度,比如在文件上传时会很有用,具体见API。

在路由中使用

ts
import { LoadingBar } from 'bin-ui-design'

router.beforeEach((to, from, next) => {
  LoadingBar.start()
  next()
})
router.afterEach(() => {
  LoadingBar.done()
})
import { LoadingBar } from 'bin-ui-design'

router.beforeEach((to, from, next) => {
  LoadingBar.start()
  next()
})
router.afterEach(() => {
  LoadingBar.done()
})

基础用法

点击 Start 开始进度,点击 Done 结束。在调用start()方法后,组件会自动模拟进度,当调用done()或error()时,补全进度并自动消失。

点击 Config 之后再次查看配置项一般默认即可

<template>
  <div>
    <b-button @click="start">Start</b-button>
    <b-button @click="update(50)">Update 50</b-button>
    <b-button @click="done">Done</b-button>
    <b-button @click="error">Error</b-button>
    <b-button @click="config">Config</b-button>
    <b-button @click="reset">Reset Config</b-button>
  </div>
</template>

<script setup lang="ts">
import { LoadingBar } from 'bin-ui-design'

function start() {
  LoadingBar.start()
}

function update(val: number) {
  LoadingBar.update(val)
}

function done() {
  LoadingBar.done()
}

function error() {
  LoadingBar.error()
}

function config() {
  LoadingBar.config({
    color: '#5cb85c',
    failedColor: '#f0ad4e',
    height: 5,
    icon: 'loading'
  })
}

function reset() {
  LoadingBar.resetConfig()
}
</script>
<template>
  <div>
    <b-button @click="start">Start</b-button>
    <b-button @click="update(50)">Update 50</b-button>
    <b-button @click="done">Done</b-button>
    <b-button @click="error">Error</b-button>
    <b-button @click="config">Config</b-button>
    <b-button @click="reset">Reset Config</b-button>
  </div>
</template>

<script setup lang="ts">
import { LoadingBar } from 'bin-ui-design'

function start() {
  LoadingBar.start()
}

function update(val: number) {
  LoadingBar.update(val)
}

function done() {
  LoadingBar.done()
}

function error() {
  LoadingBar.error()
}

function config() {
  LoadingBar.config({
    color: '#5cb85c',
    failedColor: '#f0ad4e',
    height: 5,
    icon: 'loading'
  })
}

function reset() {
  LoadingBar.resetConfig()
}
</script>

API

通过直接调用以下方法来使用组件:

ts
import { LoadingBar } from 'bin-ui-design'

LoadingBar.start()

LoadingBar.finish()

LoadingBar.error()

LoadingBar.update(percent)

LoadingBar.config(cfg)

LoadingBar.resetConfig(cfg)
import { LoadingBar } from 'bin-ui-design'

LoadingBar.start()

LoadingBar.finish()

LoadingBar.error()

LoadingBar.update(percent)

LoadingBar.config(cfg)

LoadingBar.resetConfig(cfg)

以上方法隐式的创建及维护Vue组件。函数及参数说明如下:

Options

函数说明
color默认颜色 ,primary
duration动画执行时间 ,默认800
failedColor错误颜色,默认error
height进度条高度,默认2
icon可以设置icon开启右侧loading icon