2017-08-29 3 views
1

Ich bin neu in React und semantische Sicht. Ich habe eine Tabelle, die eine Zeile hat, die ok zeigt und ein grünes Häkchen ist {this.props.email.success} zurück wahr. Andernfalls ändert sich das Symbol in Rot. hier mein Code: semantisch-ui-Code:change icon tag mit Javascript

<Table.Cell> 
    <Icon color="green" name="checkmark" size="large" /> 
    {this.props.email.success} 
</Table.Cell> 

jetzt basierend auf dem Wert der Erfolg Iconname und color sollte sich ändern. Wie kann ich das tun? danke für jede Hilfe.

Antwort

2

Wahrscheinlich so etwas wie dieses:

<Icon color={this.props.email.success ? "green" : "red"} name="checkmark" size="large" /> 

EDIT

Kredit Lowther @D Wenn Sie mehr ändern wollen als nur die Farbe des Symbols Sie so etwas tun könnte:

let icon = (this.props.email.success) ? <Icon color...> : <Icon color...>; 
return (<Table.cell>{icon}</Table.cell>); 
+1

Obwohl es klingt wie das sonst ist ein anderes Symbol so vielleicht mehr wie: 'let icon = (this.props.email.success)? : ; {icon} ' oder vielleicht erstellen Sie ein Icon-Objekt mit einer Farbe und Namen-Eigenschaft und bauen Sie die Bedingung, um ihre Werte zu füllen. –

+1

Nun, ich weiß nicht, was "Erfolg" ist, aber ich denke, es ist vom Typ Boolean. Ja, du könntest zwei Objekte erstellen (eins für Erfolg und eins für fehlgeschlagen), aber das sollte normalerweise funktionieren und ist die sauberste Art, die ich mir vorstellen kann. – Nocebo

+0

Entschuldigung, dein Weg ist sauber Ich sagte, es klang wie aus der Frage, dass sie tatsächlich ein brauchten anderes Symbol ganz und gar nicht nur die Farbe. Bei weiterem Nachdenken würde ich mich wahrscheinlich darauf konzentrieren, ein Objekt zu erstellen und dieses zu verwenden, um das Icon-Element basierend auf der booleschen Antwort zu füllen. –