1

Est-il possible de masquer l'élément OverlayTrigger/Tooltip par défaut? par ex. overlay={this.state.show ? <Tooltip>showing</Tooltip> : null} œuvres mais émet un avertissement sur la console:Réagir Bootstrap hide tooltip

L'accessoire overlay est marqué comme requis dans OverlayTrigger, mais sa valeur est null

Serait-ce la seule façon?

{!this.state.show ? {component} : 
<OverlayTrigger ...> 
    {component} 
</OverlayTrigger> 
} 
+0

N'ajoutez pas l'info-bulle dans votre code et elle n'apparaîtra pas. –

+0

Vous fermez vos accolades trop tôt. Essayez: 'overlay = {this.state.show? montrant: null} '. – Chris

+0

@Chris mineure typo. La version corrigée jette encore "La superposition" prop "est marquée comme requis dans" OverlayTrigger ", mais sa valeur est" null " – Avery235

Répondre

1

Le composant OverlayTrigger doit avoir un accessoire overlay passé. Si vous ne souhaitez pas d'info-bulle, vous ne souhaitez pas non plus déclencher de superposition. Par conséquent, vous voudriez l'enlever si this.state.show est falsifié.

{this.state.show 
    ? <OverlayTrigger overlay={<Tooltip>showing</Tooltip>}> 
     <button>Click me!</button> 
    </OverlayTrigger> 
    : <button>Click me!</button> 
} 

Edit: Oui, le code dans votre mise à jour serait la façon de le faire.