Не удается получить значение даты ngForm из указателя даты в угловых - PullRequest
0 голосов
/ 23 сентября 2019

Не могу получить значение от mat-datepicker.Это говорит undefined.Я использовал ngForm и ngModel, но я не знаю, где я не прав.

<form #f="ngForm" (ngSubmit)="registerClient(f.value)">
    <div class="" style="width: 50%; margin:auto;">
        <!-- ... Other fields -->
        <!-- ... -->

        <div class="form-group">
            <mat-form-field id="date">
                <input matInput [matDatepicker]="picker" placeholder="Choose a date" [(ngModel)]="date">
                <mat-datepicker-toggle matSuffix [for]="picker"></mat-datepicker-toggle>
                <mat-datepicker id="datePicked" #picker></mat-datepicker>
            </mat-form-field>
        </div>
        <div>
        </div>
        <button class="btn btn-success mt-2">Add new client</button>
    </div>
</form>

client-form.ts

export class ClientFormComponent {
    date: Date;
    // ...
    // ...
    registerClient(crediantials) {
        let client: Client = {
            firstName: crediantials.firstName,
            lastName: crediantials.lastName,
            phone: crediantials.phone,
            doctorsName: this.selectedD.username,
            procedure: this.selectedP,
            registrationDate: this.date
        };

        console.log(client), 'client';
        console.log(crediantials)
        console.log(this.date, ' date);
        this.clientService.addClient(client);
    }
}

Этоошибки, которые я получаю в своей консоли.

ClientFormComponent.html: 41 ERROR Ошибка: если в теге формы используется ngModel, либо должен быть задан атрибут name, либо элемент управления формы должен быть определен как 'standalone 'в ngModelOptions.

Пример 1: <input [(ngModel)]="person.firstName" name="first">

Пример 2: <input [(ngModel)]="person.firstName" [ngModelOptions]="{standalone: true}">

ОШИБКА КОНТЕКСТА DebugContext_ {view: {…}, nodeIndex: 69, nodeDef: {…}, ElDef: {…}, elView: {…}}

ОШИБКА Ошибка: ViewDestroyedError: Попытка использовать уничтоженное представление: detectChanges

Это строка, в которойошибка происходит.

<input matInput [matDatepicker]="picker" placeholder="Choose a date"  [(ngModel)]="date">

1 Ответ

0 голосов
/ 23 сентября 2019

Если используется ngForm, поля ввода, имеющие ngModal, должны иметь имя атрибута со значением.

<input matInput [matDatepicker]="picker" name="date" placeholder="Choose a date" [(ngModel)]="date">
...