Skip to content

UiErrorState ​

Estado de error para cuando una carga de datos falla.

Props ​

PropTipoDefaultDescripción
titlestring'No se pudieron cargar los datos'Título del error
descriptionstring'Ocurrió un error inesperado. Inténtalo de nuevo.'Descripción (puede ser el mensaje del error)
retryLabelstring'Reintentar'Texto del botón
loadingbooleanfalseEstado loading del botón de reintentar

Emits ​

EventoDescripción
retryUsuario hace clic en "Reintentar"

Slots ​

SlotDescripción
#iconÍcono (default: IconAlertTriangle en rojo peligro)
#actionReemplaza el botón de reintentar completamente

Ejemplos ​

vue
<!-- Con error del store -->
<UiErrorState
  v-if="loadError"
  title="No pudimos cargar los roles"
  :description="loadError"
  @retry="fetchData"
/>

<!-- Con useAsyncData -->
<UiErrorState
  v-else-if="error"
  :description="error"
  @retry="reload"
/>

<!-- Sin botón de reintentar (acción personalizada) -->
<UiErrorState title="Sesión expirada" description="Tu sesión ha vencido.">
  <template #action>
    <UiButton @click="router.push('/login')" width="auto">
      Iniciar sesión
    </UiButton>
  </template>
</UiErrorState>

Notas ​

  • role="alert" para anuncios de accesibilidad
  • El botón de reintentar solo se renderiza cuando hay un listener @retry (detección via vnode props)
  • UiDataTable usa UiErrorState cuando error tiene valor y no hay filas

Documentación de Kaleo — plataforma SaaS multi-tenant