Ich habe eine Liste von Elementen, die Kontrollkästchen für eine Einstellungsseite sind. Diese werden in einem const items
wie so gespeichert:Anwenden eines CSS-Stils auf ein zugeordnetes Objekt
const ITEMS = [
["youtube", "YouTube"],
["videos", "Videos"],
["facebook", "Facebook"],
["settings", "Settings"],
]
und zur Zeit, diese vier Elemente sind nur als Listenelemente aufgeführt. Was ich jetzt habe, ist dies:
aber, was ich will, ist dies:
Ich dachte an einen Scheck Anwendung zu sehen, ob die Unterkategorie zu, dass gehört Übergeordnete Kategorie und wenden Sie eine Art von Einzug auf die Unterkategorien an. Ist das möglich über eine map
(wie ich durch dieses Array iterieren)? Oder gibt es einen klügeren und effizienteren Weg, dieses Problem zu lösen?
Hier ist, wie ich meine Kontrollkästchen machen:
item: function(i) {
return (
<div className="checkbox">
<label>
<input type="checkbox" checked={this.state.items[i[0]]}/>
{i[1]}
</label>
</div>
)
}
render: function() {
return (
<div className="col-sm-12">
{_(ITEMS).map(this.item, this)}
</div>
)
}
Können Sie einige Code schreiben, wie Sie die Ankreuzfelder generieren? Und ich frage mich, warum Sie Sub-Arrays als Elemente in einem Array verwenden ...? –
Ich habe ein Array innerhalb eines Arrays verwendet, um auf den Wert "youtube", "videos" usw. zuzugreifen, wenn es aktiviert ist und "YouTube" auf der Site korrekt angezeigt wird. Sollte ich stattdessen zu einem Objekt wechseln, das jedes Array enthält? – patrickhuang94