角度-垫选择列表传递值

时间:2020-10-29 08:13:53

标签: angular typescript

嗨,我在垫子选择列表中有此代码。

<mat-selection-list #profilesList [(ngModel)]="selectedProfiles" [multiple]="false" class="list">
<mat-list-option *ngFor="let profile of observables.profiles; last as last" [value]="profile"
     [selected]="profile.isCurrent">
      <div [ngClass]="{'list-item': true, 'selected': profile.isCurrent}">
         <label class="profileDesignation">{{profile.displayText}}</label>
       </div>
</mat-list-option>
</mat-selection-list>

,我想在另一个按钮中访问此配置文件。我有按钮的代码。

<button id="selectButton" class="bottomButton" type="button" (click)="selectProfileAndApply(profilesList.selectedOptions[0])"
        matTooltip="Profile go">
</button>

我在该方法内也有一个方法(单击),我想访问垫选择列表中的profileList。

但是我无法访问它。有什么想法吗?

谢谢。

2 个答案:

答案 0 :(得分:1)

似乎您试图以错误的方式访问选定的选项。您可以通过selectedOptions.selected[0]?.value而不是selectedOptions[0]

访问选定的选项

由于还为selectedProfiles绑定了ngModel,因此您也可以使用它来按如下所示的打字稿代码进行访问:

selectProfileAndApply(profile: Profile): void {
  console.log(this.selectedProfiles); // You can use it as you bind this object to list via ngModel
  console.log(profile); // This is the value of selectedOptions.selected[0]?.value
}

我创建了一个working stackblitz example here

答案 1 :(得分:0)

selectedProfiles

正如我所见,您正在使用此属性来绑定来自选择垫列表的值。 您应该将其用于按钮