# Popover (fenêtre contextuelle)

Calque d'information déclenché au clic ou au survol. 12 positions, quatre modes de déclenchement, flèche et largeur paramétrables.

Fenêtre contextuelle
<template>
  <div class="demo-col" style="padding: 40px 0">
    <div class="demo-row" style="gap: 24px; flex-wrap: wrap; justify-content: center">
      <LhPopover title="Titre" content="Déclenchement au clic (par défaut)" placement="top">
        <LhButton>click en haut</LhButton>
      </LhPopover>
      <LhPopover content="Déclenchement au clic" placement="right" trigger="click">
        <LhButton>click à droite</LhButton>
      </LhPopover>
      <LhPopover content="Déclenchement au focus" placement="bottom" trigger="focus">
        <LhButton>focus en bas</LhButton>
      </LhPopover>
      <LhPopover content="Sans flèche + largeur personnalisée" placement="left" :arrow="false" :width="240">
        <LhButton>Sans flèche, à gauche</LhButton>
      </LhPopover>
      <LhPopover content="Positionnement left strict" placement="left" :flip="false">
        <LhButton>flip=false</LhButton>
      </LhPopover>
    </div>
    <p class="demo-note">Le déclenchement manual s'associe à :visible.sync pour un contrôle manuel ; disabled empêche l'affichage ; popperClass définit une classe personnalisée.</p>
    <div class="demo-row" style="gap: 24px; flex-wrap: wrap; justify-content: center">
      <LhPopover :visible.sync="manual" content="Contrôlée par le bouton de bascule" placement="top" trigger="manual">
        <LhButton @click="manual = !manual">Bascule manual ({{ manual ? 'ouvert' : 'fermé' }})</LhButton>
      </LhPopover>
      <LhPopover content="État désactivé" disabled>
        <LhButton disabled>disabled</LhButton>
      </LhPopover>
      <LhPopover content="Affichage/masquage retardés" placement="top" :show-after="300" :hide-after="500">
        <LhButton>showAfter/hideAfter</LhButton>
      </LhPopover>
    </div>
  </div>
</template>

<script>
export default {
  data: () => ({
    manual: false,
  }),
}
</script>

# Props

Propriété Description Type Valeur par défaut
placement Position d'affichage 'top' \| 'top-start' \| 'top-end' \| 'bottom' \| 'bottom-start' \| 'bottom-end' \| 'left' \| 'left-start' \| 'left-end' \| 'right' \| 'right-start' \| 'right-end' 'top'
flip Inversion de direction lorsque l'espace manque sur l'axe principal (activé par défaut) ; à false, le positionnement suit strictement placement, avec débordement de la fenêtre possible boolean true
trigger Mode de déclenchement 'click' \| 'hover' \| 'focus' \| 'manual' 'hover'
title Titre string —
visible État d'affichage contrôlé manuellement (:visible.sync) boolean —
disabled Désactivé boolean false
arrow Affiche la flèche boolean true
width Largeur du calque flottant string \| number —
popperClass Classe personnalisée du calque flottant string —
teleportTarget Cible de montage du calque flottant (sélecteur ou élément, body par défaut ; 2.7 n'a pas de Teleport, déplacement assuré par l'hôte) string \| HTMLElement —
showAfter Délai d'affichage (ms) number —
hideAfter Délai de masquage (ms) number —
themeVars Variables de thème au niveau du composant, surcharge la configuration du ConfigProvider Record<string, string> —
bgPattern Motif de fond au niveau du composant, surcharge la configuration du ConfigProvider string —
sx Raccourci de mise en page sx (appliqué à la racine du déclencheur) — —

# Slots

Slot Description
default Déclencheur
title Zone de titre (prop title par défaut)
content Corps de la bulle (prop content si non transmis)

Copyright © 2024-2026 FengMo WenXue