Winkel-Dropdown liest keinen Wert
P粉513316221
P粉513316221 2024-02-21 20:17:21
0
1
294

Ich bin neu bei Angular. Bitte verzeihen Sie mir, wenn ich Fehler mache. Ich versuche, eine erstellte Liste in einem Dropdown-Menü abzurufen, und wenn der Benutzer sie auswählt, sollten die Informationen in der Datenbank protokolliert werden.

Das ist mein Code: Komponente.html

<mat-form-field appearance="fill">
  <mat-label>Retrieval Reason</mat-label>
  <mat-select [formControl]="RR" required>
    <mat-option>--</mat-option>
    <mat-option *ngFor="let reason of reasons" [value]="reason">
      {{reason.reason}}
    </mat-option>
  </mat-select>
  <mat-error *ngIf="RR.hasError('required')">Please choose a reason</mat-error>
</mat-form-field>

  <button
    mat-raised-button
    (click)="done()"
    color="primary"
    [disabled]="selection.selected.length === 0 || RR.hasError('required')"
  >
    Retrieve
  </button>

Component.ts

retrievalReason: Reasons;
    RR = new FormControl('', Validators.required);

  reasons: Reasons[] = [
    {reason: 'Cycle Count'},
    {reason: 'Purge Request'},
    {reason: 'Picking'},];

    done() {
    this.dialogRef.close({
      carrier: this.carrier,
      destination: this.selection.selected[0].dstId,
      retrievalReason: this.RR.get('reasons').value,
    });
  }

Ich habe nach der Angular-Methode zum Lesen eines Werts aus einem Dropdown-Menü gesucht und verschiedene Variablennamen ausprobiert, aber bisher hat nichts funktioniert.

P粉513316221
P粉513316221

Antworte allen(1)
P粉022723606

我认为唯一可能错误的是您尝试 retrievalReason: this.RR.get('reasons').value 但这是为了获取表单控件的表单。

您只有一个表单控件,因此只需 retrievalReason:this.RR.value 就足够了。

Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage