Получить значение с помощью переключателя Angular Material Dialog - PullRequest
0 голосов
/ 10 декабря 2018

У меня есть диалоговое окно Angular Material, в котором я обновляю таблицу, щелкая статус изменения.

Мне нужно получить значение из переключателя в моем диалоге

Вот полный рабочий пример

https://stackblitz.com/edit/angular-w9rbj1

Вот код компонента

   import {Component, Inject, OnInit, ViewEncapsulation} from '@angular/core';
import {MAT_DIALOG_DATA, MatDialogRef, MatDialog} from "@angular/material";
import {FormBuilder, Validators, FormGroup} from "@angular/forms";
import { Payment } from '../payments/payment';


@Component({
    selector: 'editing-dialog',
    templateUrl: './editing-dialog.component.html',
    styleUrls: ['./editing-dialog.component.scss']
})
export class EditingDialogComponent implements OnInit {
    form: FormGroup;
    reason:String;
    id: Number;
    statusdescription: String ;

    constructor(
        private fb: FormBuilder,
        private dialogRef: MatDialogRef<EditingDialogComponent>,
        @Inject(MAT_DIALOG_DATA) data:Payment) {
            this.reason = data.Reason;
            this.id  = data.Id;
            this.statusdescription = data.StatusDescription;
            this.form = fb.group({
                reason: [this.reason, Validators.required],
                id: this.id,
                status: this.statusdescription
            });
    }

    ngOnInit() {

    }
    save() {
        this.dialogRef.close(this.form.value);
    }

    close() {
        this.dialogRef.close();
    }
}

А вот это HTML

<h2>{{description}}</h2>

<mat-dialog-content [formGroup]="form">

    <mat-form-field>

        <input matInput min="0" max="100" required placeholder="Payment Reason" formControlName="reason" value="{{reason}}">

    </mat-form-field>
    <mat-radio-group>
        <mat-radio-button value="Approve">Approve</mat-radio-button>
        <mat-radio-button value="Reject">Reject</mat-radio-button>
      </mat-radio-group> </mat-dialog-content>

<mat-dialog-actions>

    <button class="mat-raised-button" (click)="save()">
        Ok
    </button>



    <button class="mat-raised-button"
            (click)="close()">
        Close
    </button>

</mat-dialog-actions>

Поэтому, когда я нажимаю переключательМне нужно получить значение щелчка переключателя в ответе.

Так что статус должен быть переключателем

Как я могу сделать это правильно?

Ответы [ 2 ]

0 голосов
/ 10 декабря 2018

Попробуйте это;

@ Имя входа (): строка <mat-radio-group name="status" ngModel #status="ngModel"> <mat-radio-button value="Approve">Approve</mat-radio-button> <mat-radio-button value="Reject">Reject</mat-radio-button> </mat-radio-group>

0 голосов
/ 10 декабря 2018

Поскольку вы используете реактивные формы, используйте formControlName для mat-radio-group, как вы это делали в поле matInput.Я разбудил и обновил ваш Stackblitz , который теперь также регистрирует значение переключателя на консоли, когда вы нажимаете кнопку «Сохранить».Вы можете получить и использовать это значение в своем компоненте платежей.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...