Skip to content

Barra de progreso ​

Muestra el progreso de una tarea; admite colores por estado, colores personalizados y formato de texto personalizado.

Uso básico ​

vue
<template>
  <lh-progress :percentage="42" />
</template>

Estados ​

vue
<template>
  <lh-progress :percentage="70" status="success" />
  <lh-progress :percentage="70" status="warning" />
  <lh-progress :percentage="70" status="exception" />
  <lh-progress :percentage="100" />
</template>

Cuando status es normal y se alcanza 100, se considera automáticamente success.

Grosor de trazo y ocultación del texto ​

vue
<template>
  <lh-progress :percentage="60" :stroke-width="12" />
  <lh-progress :percentage="60" :show-text="false" />
</template>

Color personalizado ​

Una cadena se usa directamente como color de la barra; una función devuelve el color en función del porcentaje.

vue
<template>
  <lh-progress :percentage="60" color="#C4A35A" />
  <lh-progress :percentage="60" :color="gradient" />
</template>

<script setup lang="ts">
const gradient = (p: number) => `rgb(${p}, 0, 0)`
</script>

Formato personalizado y slot de texto ​

vue
<template>
  <lh-progress :percentage="42" :format="format" />
  <lh-progress :percentage="42">
    <template #text="{ percentage }">
      <text>{{ percentage }} / 100</text>
    </template>
  </lh-progress>
</template>

<script setup lang="ts">
const format = (p: number) => `Progreso ${p}`
</script>

Props ​

PropDescripciónTipoPredeterminado
percentagePorcentaje de progreso 0-100 (al superarlo se aplica clamp automáticamente)number0
typeTipo'line' | 'circle''line'
statusEstado'normal' | 'success' | 'warning' | 'exception''normal'
colorColor de la barra: cadena o función que devuelve el color según el porcentajestring | ((percentage: number) => string)—
strokeWidthGrosor del trazo, en pxnumber6
widthAncho del lienzo en modo circular, en pxnumber126
showTextSi se muestra el textobooleantrue
formatFormato de texto personalizado(percentage: number) => string—
customClassClase personalizadastring—
sxProps rápidas de disposiciónLhSxProps—

Slots ​

SlotDescripciónParámetros de ámbito
textTexto de progreso personalizado{ percentage: number }

El tipo circle aún no está implementado

El Mini Programa admite svg de forma limitada, de modo que la primera versión solo implementa el tipo line. Al pasar type="circle" se renderiza como line y, en desarrollo, se emite una advertencia una sola vez (sin degradación silenciosa); el tipo circle queda para una segunda fase.