Skip to content

ErrorContainer 错误容器

一些场景下希望在接口请求失败时显示重试按钮,为了不重复书写,提供此组件,同时结合了 Loading,通常搭配 useBetterReq 使用。

基础用法

直接包裹需要提示重试的内容

<script lang="ts" setup>
import { ref } from 'vue'

const loading = ref(false)
const error = ref(false)

const getData = async () => {
  error.value = false
  loading.value = true
  await new Promise((resolve) => {
    setTimeout(() => {
      error.value = true
      resolve('')
    }, 2000)
  })
  loading.value = false
}

getData()
</script>

<template>
  <x-error-container :loading="loading" :error="error" :retryFn="getData">
    <div class="container">内容</div>
  </x-error-container>
</template>

<style scoped>
.container {
  height: 200px;
  display: flex;
  justify-content: center;
  align-items: center;
}
</style>

ErrorContainer API

Props

NameDescriptionTypeDefault
loading加载状态boolean
error错误状态boolean
retryFn重试方法Function
buttonText重试按钮的文字string加载失败,请稍后重试