簡體   English   中英

angular 材料中的預選下拉列表

[英]pre selected dropdown in angular material

嗨,我在 angular 8 中使用了 angular 材料。

我需要在 dropdwown 中預先選擇option

我使用此代碼:

<mat-select *ngIf="justImage==true">
    <mat-option selected (click)="setExtention('Picture',i)">
    {{ 'ENUM.FILE_TYPE.Picture' | translate }}
    </mat-option>
</mat-select>

但它沒有在下拉列表中選擇並禁用它。 它被禁用,但它不會在下拉列表中顯示選定的項目。

我怎么解決這個問題????

在您的 ts 文件中,

let options = ['Upcoming', 'Consulted', 'Cancelled'];
let status = 'Consulted';

在您的模板中,

<mat-select [(ngModel)]="status" id="status">
   <mat-option *ngFor="let option of options" [value]="option">
      {{option}}
   </mat-option>
</mat-select>

在 ngModel 中,status 變量是雙向綁定的 所以,這將完成這項工作。 默認情況下會選擇已咨詢的選項。

雖然,答案已經被接受,但是如果您不想使用 [(ngModel)] 兩種方式數據綁定並想將其分解,我想為這個問題提供解決方案。 完整的工作示例可以在這個StackBlitz Link中建立

在您的 HTML 文件中,我們使用 [value] 作為默認值設置器。

<mat-select [value]="defaultSelectedOption" id="status" (selectionChange)="onChange($event)">
   <mat-option *ngFor="let food of foods" [value]="food.value">
       {{food.viewValue}}
   </mat-option>
</mat-select>

<br> <br> <div>
              <span> Default selected and changable value is :<strong> {{defaultSelectedOption}}</strong> </span>
          </div>

Class 文件是..

defaultSelectedOption = '';
foods: Food[] = [
       {value: 'steak-0', viewValue: 'Steak'},
       {value: 'pizza-1', viewValue: 'Pizza'},
       {value: 'tacos-2', viewValue: 'Tacos'}
];
ngOnInit(){
     this.defaultSelectedOption = this.foods[1].value;
} 
onChange(eventValue){
     this.defaultSelectedOption= eventValue.value;
}

這是工作示例

 ngOnInit()
 {
     this.selectedValue=this.clients[0];
 }

html

<mat-select [disabled]="true" placeholder="Clients" [(ngModel)]="selectedValue" name="food" (change)="changeClient($event.value)">
  <mat-option *ngFor="let client of clients" [value]="client">
    {{client.clientName}}
  </mat-option>
</mat-select>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM