2017-09-30 1 views
0

Ich habe eine Liste von Material-UI-Karten mit einer Auswahlliste in jeder Karte.So erkennen Sie, welche Karte oder SelectField geändert wird

const ads = this.props.ads; 
    let adsItems = ads.map((c, i) => 
    <div key={ads[i].adid}> 
     <Card> 
     <CardHeade> 
      <SelectField 
      id={String(ads[i].adid)} 
      value={ads[i].status} 
      onChange={this.handleChange}> 
       <MenuItem key={1} value={`Idle`} primaryText={`Idle`} /> 
       <MenuItem key={2} value={`Sent`} primaryText {`Sent`} /> 
      </SelectField> 
     </CardHeader> 
     </Card> 
    </div> 
); 

Nun, wenn ein MenuItem Auswahl Ich möchte wissen, welche Card oder selectField geändert wurde. Wenn ich einfach die SelectField ID in die onChange={this.handleChange} übergeben könnte, wäre in diesem Fall die ID ads[i].adid dies wäre einfach gelöst.

Ich habe einen Blick auf die Material-UI-Dokumentation geworfen und sogar ihre Beispiele zeigen, wenn Sie eine MenuItem auswählen, werden alle SelectFields mit dem gleichen Wert aktualisiert.

Gibt es eine Möglichkeit, ich kann wissen, welche Card oder SelectField wird geändert, das würde mir sehr helfen.

Dank

Antwort

2

Sie können die ID passieren einfach nur Ereignis zu ändern, wie Sie gesagt haben.

Wenn Sie unten mögen, wird es nicht funktionieren, weil Sie es ausführen würden, anstatt es als eine Stütze zu übergeben.

// THIS WON'T WORK 
onChange={this.handleChange(ads[i].adid)} 
+0

Sie sind ein Genie! Vielen Dank, einfache und klare Erklärung. – Matt

Verwandte Themen