Skip to content

Insignia ​

Marca en la esquina superior derecha de un icono, para conteos de notificaciones, puntos de estado o texto personalizado.

Uso básico ​

vue
<template>
  <lh-badge :value="8">
    <lh-button size="small">Mensajes</lh-button>
  </lh-badge>
  <lh-badge :value="8" type="primary">
    <lh-button size="small">Principal</lh-button>
  </lh-badge>
</template>

Tratamiento de valores ​

vue
<template>
  <lh-badge :value="200" :max="99">
    <lh-button size="small">Supera max, muestra 99+</lh-button>
  </lh-badge>
  <lh-badge :value="0" show-zero>
    <lh-button size="small">Muestra 0</lh-button>
  </lh-badge>
  <lh-badge :value="0">
    <lh-button size="small">Oculta 0</lh-button>
  </lh-badge>
  <lh-badge content="Nuevo">
    <lh-button size="small">Texto personalizado</lh-button>
  </lh-badge>
</template>

Punto rojo ​

vue
<template>
  <lh-badge is-dot>
    <lh-button size="small">Hay mensajes nuevos</lh-button>
  </lh-badge>
</template>

Desplazamiento y tamaño ​

vue
<template>
  <lh-badge :value="8" :offset="[6, 4]">
    <lh-button size="small">Desplazada</lh-button>
  </lh-badge>
  <lh-badge :value="8" size="small">
    <lh-button size="small">Pequeña</lh-button>
  </lh-badge>
</template>

Props ​

PropDescripciónTipoPredeterminado
typeTipo'primary' | 'success' | 'warning' | 'danger' | 'info' | 'default''danger'
valueValor numérico que se muestrastring | number—
sizeTamaño'small' | 'medium' | 'large''medium'
maxValor máximo; al superarlo se muestra ${max}+number99
isDotSi es un punto rojo (no muestra el valor)booleanfalse
hiddenSi está ocultabooleanfalse
offsetDesplazamiento respecto a la posición por defecto [x, y], implementado con margin negativo[number, number]—
showZeroSi se muestra cuando value es 0booleanfalse
contentTexto personalizado (prevalece sobre value)string—
customClassClase personalizadastring—
sxProps rápidas de disposiciónLhSxProps—

Slots ​

SlotDescripción
defaultContenido del que cuelga la insignia

Diferencias frente a la versión Vue3

Las animaciones de entrada y salida no dependen del <transition> integrado de Vue (el evento de fin de transición del Mini Programa no es fiable): se sustituyen por cambio de clase + temporizador para alinear la duración de la animación de 0.15 s, con un resultado visual idéntico al de plus.