使用用例

progress

Pyro
Hydro
Anemo
Electro
Dendro
Cryo
Geo
Pyro
Hydro
Anemo
Electro
Dendro
Cryo
Geo
使用 progress 参数控制进度条
<template>
  <GLoading class="gl-loading" :progress="50" />
</template>

stage & parts

Pyro
Hydro
Anemo
Electro
Dendro
Cryo
Geo
Pyro
Hydro
Anemo
Electro
Dendro
Cryo
Geo
使用 stageparts 参数控制进度条
<template>
  <GLoading class="gl-loading" :stage="7 * 4" :parts="6 * 4 + 2" />
</template>

展示

Pyro
Hydro
Anemo
Electro
Dendro
Cryo
Geo
Pyro
Hydro
Anemo
Electro
Dendro
Cryo
Geo
<template>
  <GLoading class="gl-loading" :stage="7 * 4" :parts="parts" />
  <GButton class="w-200 mg-10 bk" type="shrink" icon="round" balance @click="onLoading">Loading</GButton>
</template>
<script setup>
  import { ref } from 'vue';

  const parts = ref(0)
  const timeout = ref(0)

  const waiting = [{
    wait: 0,
    parts: 0
  }, {
    wait: 100,
    parts: 1
  }, {
    wait: 1000,
    parts: 9
  },{
    wait: 500,
    parts: 14
  },{
    wait: 1000,
    parts: 26
  },{
    wait: 2500,
    parts: 28
  }]

  const onLoading = (i = 0) => {
    if (i === 0) clearTimeout(timeout)
    const time = waiting[i]
    if (time) {
      parts.value = time.parts
      timeout.value = setTimeout(() => {
        onLoading(i + 1)
      }, time.wait*5)
    }
  }
</script>

单元素Loading

<template>
  <GSingleLoading  />
  <GSingleLoading :size="80" :loop="1000" />
</template>

类型定义

defineProps<{
  progress: number
} & {
  stage: number  
  parts: number
}>()

参数定义

Loading

参数说明类型是否可选默认值
progress进度条进度number必须-
stage把总进度分割成n块number必须-
parts进度条总进度number必须-

参数定义

SingleLoading

参数说明类型是否可选默认值
loop单个元素切换周期(毫秒)number可选2000
size元素大小number可选60
Last Updated:
Contributors: shi-zhong