ngModel funktioniert nicht, wenn ein Eingabe-Feld wird wiederholt, mit der Eigenschaft innerhalb der wiederholte array-Objekt verwendet, der in [(ngModel)]

Bin ich eigentlich das wiederholen einer Matte Eingabefeld und dann habe ich geschrieben [(ngModel)] mit der Eigenschaft name des Objekts im array als [(ngModel)]’s value

Ist dies beispielsweise für das array von Objekten, die ich habe :

test = [{name: 'Harish'},{name: 'Pushpa'}]

Also in der html-wiederholte ich dieses array wie folgt :

 <mat-form-field class="example-full-width" *ngFor="let i of test"> 
<input  matInput placeholder="Favorite food" [(ngModel)]='i.name' name='trtrtrtrt'>


</mat-form-field>

Aber es zeigt den Wert aller input-Feld den Namen des letzten Elements im array

Hier ist die Arbeit plunker der Ausgabe, die ich erhalte.



3 Replies
  1. 1

    Verschiedenen input sollte, hat verschiedene name Eigenschaft.

    <mat-form-field class="example-full-width" *ngFor="let i of test"> 
        <input  matInput placeholder="Favorite food" [(ngModel)]='i.name' [name]='i.name'>
    </mat-form-field>
    

    Finden Sie das Ergebnis in plunker

    • Danke,ich werde versuchen, und lassen Sie wissen,
  2. 1

    Ich hatte sehr ähnliches Problem (im Winkel 7) – konnte nicht nachvollziehen, unten im stack, warum dies geschah, wenn in anderen Komponenten genau den gleichen code gearbeitet. Mein workaround für zwei-Wege-Bindung war:

      <mat-form-field class="example-full-width" *ngFor="let i of test"> 
        <input matInput placeholder="Favorite food" [value]="i.name"  (input)="i.name = $event.target.value" [name]='i.name'>   
      </mat-form-field>
    

    d.h. mit dem [value] – und (Eingangs -) Bindungen.

  3. 0

    versuchen, diese

     <mat-form-field class="example-full-width" *ngFor="let i of test"> 
    <input  matInput placeholder="Favorite food" value="{{i.name}}" name='trtrtrtrt'>   
    </mat-form-field>
    
    • Wert ist in Ordnung, aber ich möchte an zwei-Wege-Datenbindung hier
    • kann es nicht im loop
    • Wie mache ich das? Bearbeiten können Sie die plunker gepostet, dass ich in der Frage und zeigen Sie mir?
    • lassen Sie mich herauszufinden.
    • Sicher, wird für Ihre Antwort warten
    • der entscheidende Punkt ist, alle input haben die gleichen name. Machen Sie es anders, es wird funktionieren.
    • überprüfen Sie das @pushplatapatel

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.