angular5 中 <select> 标签的问题
Issue with <select> tag in angular5
我在 angular 5
中遇到 <select>
标签的问题。我有一组对象。让我们说
public countryList = [ {
'name': 'xxx',
'capital': 'abc'
}, {
'name': 'yyy',
'capital': 'efg'
}, {
'name': 'zzz',
'capital': 'pqr'
},
];
并在 html
<select placeholder="Select" (change)="displayFunction()">
<option class="auto-height" *ngFor="let country of countryList; let id=index"
[disabled]="id === (country .length)-1" [value]="country .name">
<div class="stop-container">
<b>{{country.name}}</b>
<p>{{country.capital}}</p>
</div>
</option>
当我们 select 下拉列表中的任何选项 <option>
中列出的所有值都显示为选定值时,问题就出现了。我只需要 name
作为 selected 值。有什么解决办法吗?我得到下面给出的输出。需要的是 XXX 而不是 XXX abc
<select [(ngModel)]="selectedDevice" placeholder="Select" (change)="displayFunction($event.target.value)">
<option class="auto-height" *ngFor="let country of countryList; let id=index"
[disabled]="id === (country.length)-1" [value]="country.name">
<div class="stop-container">
<b>{{country.name}}</b>
<p *ngIf="selectedDevice!=country.name">{{country.capital}}</p>
</div>
</option>
</select>
替换此行
您的选项中不能有 div。如果你想在下拉列表中有一些特殊的格式,你必须用 JS 重新创建下拉列表(或者使用,例如,angular material)
所以只显示名称,您可以执行以下操作:
<select placeholder="Select" (change)="displayFunction()">
<option class="auto-height" *ngFor="let country of countryList; let id=index"
[disabled]="id === (country .length)-1" [value]="country .name">
{{country.name}}
</option>
</select>
我在 angular 5
中遇到 <select>
标签的问题。我有一组对象。让我们说
public countryList = [ {
'name': 'xxx',
'capital': 'abc'
}, {
'name': 'yyy',
'capital': 'efg'
}, {
'name': 'zzz',
'capital': 'pqr'
},
];
并在 html
<select placeholder="Select" (change)="displayFunction()">
<option class="auto-height" *ngFor="let country of countryList; let id=index"
[disabled]="id === (country .length)-1" [value]="country .name">
<div class="stop-container">
<b>{{country.name}}</b>
<p>{{country.capital}}</p>
</div>
</option>
当我们 select 下拉列表中的任何选项 <option>
中列出的所有值都显示为选定值时,问题就出现了。我只需要 name
作为 selected 值。有什么解决办法吗?我得到下面给出的输出。需要的是 XXX 而不是 XXX abc
<select [(ngModel)]="selectedDevice" placeholder="Select" (change)="displayFunction($event.target.value)">
<option class="auto-height" *ngFor="let country of countryList; let id=index"
[disabled]="id === (country.length)-1" [value]="country.name">
<div class="stop-container">
<b>{{country.name}}</b>
<p *ngIf="selectedDevice!=country.name">{{country.capital}}</p>
</div>
</option>
</select>
替换此行
您的选项中不能有 div。如果你想在下拉列表中有一些特殊的格式,你必须用 JS 重新创建下拉列表(或者使用,例如,angular material)
所以只显示名称,您可以执行以下操作:
<select placeholder="Select" (change)="displayFunction()">
<option class="auto-height" *ngFor="let country of countryList; let id=index"
[disabled]="id === (country .length)-1" [value]="country .name">
{{country.name}}
</option>
</select>