Mat Select не получает выбранное значение угловой 6 TS - PullRequest
0 голосов
/ 21 февраля 2019

Mat Select не устанавливает выбранное значение, когда я выполняю операцию обновления.Я хочу показать выбранное значение, когда нажимаю на обновление, чтобы другие текстовые поля получали правильное значение, а mat-select - нет. Если я заменю mat-select на простое текстовое поле, чтобы оно получало правильное значение.

HTML

 <mat-select placeholder="Please Select" name="FD_Financials_year_end_date" #FD_Financials_year_end_date="ngModel"
                  [(ngModel)]="objCompanyFinancialDetails.FD_Financials_year_end_date" class="form-control">
                    <mat-option *ngFor="let date of FinancialYearEndDate" [(value)]="date.id">
                      {{date.value}}
                    </mat-option>
                  </mat-select>

TS

FinancialYearEndDate = [
    { id: "01", value: "01" },
    { id: "02", value: "02" },
    { id: "03", value: "03" },
    { id: "04", value: "04" },
    { id: "05", value: "05" },
    { id: "06", value: "06" },
    { id: "07", value: "07" },
    { id: "08", value: "08" },
    { id: "09", value: "09" },
    { id: "10", value: "10" },
    { id: "11", value: "11" },
    { id: "12", value: "12" },
    { id: "13", value: "13" },
    { id: "14", value: "14" },
    { id: "15", value: "15" },
    { id: "16", value: "16" },
    { id: "17", value: "17" },
    { id: "18", value: "18" },
    { id: "19", value: "19" },
    { id: "20", value: "20" },
    { id: "21", value: "21" },
    { id: "22", value: "22" },
    { id: "23", value: "23" },
    { id: "24", value: "24" },
    { id: "25", value: "25" },
    { id: "26", value: "26" },
    { id: "27", value: "27" },
    { id: "28", value: "28" },
    { id: "29", value: "29" },
    { id: "30", value: "30" },
    { id: "31", value: "31" }
  ];

Ответы [ 2 ]

0 голосов
/ 21 февраля 2019

Вы должны связать одно и то же свойство с [(ngModel)] и [(value)].В вашем случае [(ngModel)] является полным объектом даты, а [(value)] является идентификатором этого объекта.Код должен быть таким, как показано ниже

<mat-select placeholder="Please Select" name="FD_Financials_year_end_date" #FD_Financials_year_end_date="ngModel"[(ngModel)]="objCompanyFinancialDetails.FD_Financials_year_end_date.id" class="form-control">
                    <mat-option *ngFor="let date of FinancialYearEndDate" [value]="date.id">
                      {{date.value}}
                    </mat-option>
                  </mat-select>
0 голосов
/ 21 февраля 2019

Возможно, вы захотите проверить, присутствует ли значение, которое вы пытаетесь привязать к вашему , выберите , в данном случае «objCompanyFinancialDetails.FD_Financials_year_end_date», в возможных значениях вашего опции

Вы также можете заменить компонент выбора мата более простым определением:

<mat-select [(value)]='selectedDate'>
   <mat-option></mat-option>
</mat-select>
...