我有以下选择结构。问题是它只适用于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']};
}
答案 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>