Skip to content

Бейдж ​

Угловой знак в правом верхнем углу элемента: для счётчика уведомлений, точки-статуса или произвольного текста.

Базовое использование ​

vue
<template>
  <lh-badge :value="8">
    <lh-button size="small">Сообщения</lh-button>
  </lh-badge>
  <lh-badge :value="8" type="primary">
    <lh-button size="small">Основной</lh-button>
  </lh-badge>
</template>

Обработка значений ​

vue
<template>
  <lh-badge :value="200" :max="99">
    <lh-button size="small">Превышение max даёт 99+</lh-button>
  </lh-badge>
  <lh-badge :value="0" show-zero>
    <lh-button size="small">Показывать 0</lh-button>
  </lh-badge>
  <lh-badge :value="0">
    <lh-button size="small">Скрывать 0</lh-button>
  </lh-badge>
  <lh-badge content="Нов">
    <lh-button size="small">Свой текст</lh-button>
  </lh-badge>
</template>

Точка ​

vue
<template>
  <lh-badge is-dot>
    <lh-button size="small">Есть новые сообщения</lh-button>
  </lh-badge>
</template>

Смещение и размер ​

vue
<template>
  <lh-badge :value="8" :offset="[6, 4]">
    <lh-button size="small">Смещение</lh-button>
  </lh-badge>
  <lh-badge :value="8" size="small">
    <lh-button size="small">Маленький</lh-button>
  </lh-badge>
</template>

Props ​

ПропОписаниеТипПо умолчанию
typeТип'primary' | 'success' | 'warning' | 'danger' | 'info' | 'default''danger'
valueОтображаемое значениеstring | number—
sizeРазмер'small' | 'medium' | 'large''medium'
maxМаксимальное значение, при превышении показывается ${max}+number99
isDotТочка-статус (без значения)booleanfalse
hiddenСкрытьbooleanfalse
offsetСмещение относительно позиции по умолчанию [x, y], реализуется отрицательным margin[number, number]—
showZeroПоказывать ли при value, равном 0booleanfalse
contentПроизвольный текст (приоритет над value)string—
customClassПользовательский классstring—
sxБыстрые свойства раскладкиLhSxProps—

Slots ​

СлотОписание
defaultСодержимое, к которому крепится бейдж

Отличия от версии для Vue3

Анимации появления и скрытия не полагаются на встроенный <transition> Vue (событие завершения перехода в Mini Program ненадёжно): переключение класса + таймер, выравнивающий длительность анимации 0.15s, визуальный результат совпадает с plus.