2017-07-04 2 views
-1

Wenn ich {props.dollarsInputGroup ? <InputGroup><InputGroup.Addon>$</InputGroup.Addon> : ''} verwende, funktioniert die Anweisung nicht, da es kein Schließen-Tag für <InputGroup> gibt. Was fehlt mir hier?Kürzel if/else-Anweisung Fehler von fehlendem schließendem Tag

UPDATE

<FormGroup> 
    {props.dollarsInputGroup ? <InputGroup><InputGroup.Addon>$</InputGroup.Addon> : ''} 
    <Input /> 
    {props.dollarsInputGroup ? </InputGroup> : ''} 
    {props.error ? <HelpBlock>{props.error}</HelpBlock> : '' } 
</FormGroup> 
+2

Fügen Sie einfach das schließende Tag hinzu? – Li357

+0

Das schließende Tag muss hinter dem Eingabefeld stehen, so dass ich es nicht "hinzufügen" kann. Es ist eine separate if/else-Anweisung. – bp123

+1

@ bp123 Bitte zeigen Sie uns den ganzen Code, mit dem Sie es zu tun haben – Li357

Antwort

1

Sie werden müssen entweder die <FormControl /> wiederholen, oder sie definieren einmal als Variable und es zweimal verwenden (evtl. mit einer Funktion). Zum Beispiel:

var formControl = <FormControl />; 
return <FormGroup> 
    {props.dollarsInputGroup ? <InputGroup><InputGroup.Addon>$</InputGroup.Addon>{formControl}</InputGroup> : formControl} 
    {props.error ? <HelpBlock>{props.error}</HelpBlock> : null} 
</FormGroup>; 

Oder ... (obwohl ich denke, das viel weniger lesbar ist)

<FormGroup> 
    {(props.dollarsInputGroup ? ((fc) => <InputGroup><InputGroup.Addon>$</InputGroup.Addon>{fc}</InputGroup>) : ((fc) => fc))(<FormControl />)} 
    {props.error ? <HelpBlock>{props.error}</HelpBlock> : null} 
</FormGroup> 

Obwohl könnten Sie eine Definition verwenden anderswo es ein wenig zu helfen:

function maybeWrapWithDollars(wrapWithDollars, wrappedControl) { 
    if(wrapWithDollars) { 
     return <InputGroup><InputGroup.Addon>$</InputGroup.Addon>{wrappedControl}</InputGroup>; 
    }else{ 
     return wrappedControl; 
    } 
} 
// … 
<FormGroup> 
    {maybeWrapWithDollars(props.dollarsInputGroup, <FormControl />)} 
    {props.error ? <HelpBlock>{props.error}</HelpBlock> : null} 
</FormGroup> 
0

Merge die Bedingungen:

<FormGroup> 
    {props.dollarsInputGroup ? <InputGroup><InputGroup.Addon>$</InputGroup.Addon><Input /></InputGroup> : <Input />} 
    {props.error ? <HelpBlock>{props.error}</HelpBlock> : '' } 
</FormGroup> 
Verwandte Themen