Skip to content

Tooltip (подсказка) ​

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

vue
<template>
  <lh-tooltip content="Это текст подсказки">
    <lh-button>Кликните, чтобы увидеть подсказку</lh-button>
  </lh-tooltip>
</template>

В Mini Program нет семантики hover

trigger по умолчанию равен click (работает на всех платформах). hover действует только на H5 — на платформе MP используйте trigger="click", срабатывание и закрытие по клику / касанию.

Позиция и ширина ​

vue
<template>
  <lh-tooltip content="Подсказка снизу" placement="bottom">
    <lh-button>bottom</lh-button>
  </lh-tooltip>

  <lh-tooltip content="Длинный текст переносится автоматически" :max-width="200" placement="top">
    <lh-button>Ограничить ширину</lh-button>
  </lh-tooltip>
</template>

Props ​

ПропОписаниеТипПо умолчанию
contentТекст подсказкиstring—
placementПоложение слоя (12 вариантов)LhTooltipPlacementCore'top'
triggerСпособ срабатывания: click (все платформы) / hover (только H5)'click' | 'hover''click'
showDelayЗадержка показа (миллисекунды)number—
hideDelayЗадержка скрытия (миллисекунды)number—
maxWidthМаксимальная ширина (содержимое переносится)string | number—
disabledОтключеноbooleanfalse
customClassПользовательский классstring—
themeVarsПеременные темы компонентаRecord<string, string>—
sxБыстрые свойства раскладкиLhSxProps—

Events ​

СобытиеОписаниеПараметр колбэка
update:modelValueИзменение видимости (управляемое использование)(visible: boolean)
showПоказ—
hideСкрытие—

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

  • Слой идёт через root-portal + асинхронное измерение за два кадра (сначала прозрачный рендер для замера → позиционирование → показ, чтобы не было мерцания).
  • showDelay / hideDelay на стороне MP сохраняют мгновенное поведение только в режиме click.
  • Расчёт позиции асинхронный (getLhRect возвращает Promise); нельзя рассчитывать получить результат синхронно.