1

Gibt es eine Möglichkeit, das Element OverlayTrigger/Tooltip standardmäßig zu verbergen? z. overlay={this.state.show ? <Tooltip>showing</Tooltip> : null} Werke, sondern werfen eine Warnung auf der Konsole:React Bootstrap Tooltip verbergen

Die Stütze overlay markiert ist, wie in OverlayTrigger erforderlich, aber sein Wert ist null

Wäre dies der einzige Weg sein?

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

Fügen Sie die QuickInfo nicht in Ihren Code ein, und sie wird nicht angezeigt. –

+0

Sie schließen Ihre geschweiften Klammern zu früh. Versuchen Sie: 'overlay = {this.state.show? zeigt: null} '. – Chris

+0

@Chris kleiner Tippfehler. Die korrigierte Version wirft immer noch "Die Prop-Überlagerung" ist wie erforderlich in "OverlayTrigger" markiert, aber ihr Wert ist "null". – Avery235

Antwort

1

Die OverlayTrigger Komponente muss eine overlay prop bestanden haben. Wenn Sie die QuickInfo nicht möchten, möchten Sie auch nicht, dass ein Overlay ausgelöst wird. Daher möchten Sie es entfernen, wenn this.state.show falsch ist.

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

Edit: Ja, der Code in Ihrem Update wäre der Weg, es zu tun.