选择选项中的功能在使用Chrome时不会触发

时间:2017-11-14 10:25:48

标签: angular typescript

我有以下选择结构。问题是它只适用于Firefox(最新版本)。例如,如果我使用Chrome(最新版本),onSelection()函数将不会触发。重点是选择一个节点并将其保存在selectedNode中以供进一步使用。我发现人们有类似的问题,但没有一个解决方案适合我。提前谢谢。

component.html

<select  [(ngModel)]="selectedNode" required>
  <option *ngFor="let node of tenant.nodes" (click)="onSelection()" [ngValue]="node">{{node}}</option>
</select>

component.ts

export class TESTComponent {
 selectedNode: string
 tenant: Tenant = {name:'asd',nodes:['node1','node2']};
}

2 个答案:

答案 0 :(得分:1)

首先,(click)="onSelection()"不应位于option代码上,其次,您需要更改值,因此请使用(change)代替(click)

<select [(ngModel)]="selectedNode" (change)="onSelection()" required>
  <option *ngFor="let node of tenant.nodes" [ngValue]="node">{{node}}</option>
</select>

答案 1 :(得分:0)

试试这个

<select (ngModelChange)="onChange($event)" [ngModel]="selectedNode" required>
  <option *ngFor="let node of tenant.nodes" [ngValue]="node">{{node}}</option>
</select>

https://angular.io/guide/template-syntax#inside-ngmodel