angular - 从 nb-select 中获取选定的文本
问题描述
我在 Angular 9 屏幕上实现了 Nebular Select 控件...
<nb-select placeholder="Please select a location" class="uk-width-1-1" (selectedChange)="changeLocation($event)">
<nb-option *ngFor="let adj of adjLocations" [value]="adj.id">
{{adj.name}}
</nb-option>
</nb-select>
当 selectedChange 事件触发时,我只能获得所选选项的 VALUE,但我也想获得 TEXT ......
我找不到有关如何执行此操作的任何答案...当然,我不是唯一一个想要从选择列表中获取所选文本的人?任何帮助表示赞赏..如有必要,我可以发布更多代码示例,但没有太多可做的。源列表基于 ID/文本,并且列表呈现没有任何问题。
提前致谢。
解决方案
您在 changeLocation 方法中作为 $event 收到的对象与您在 nb 选项中作为 [value] 放置的对象类型相同(在您的情况下为数字)...尝试使用整个“adj”对象作为[价值]:
<nb-select placeholder="Please select a location" class="uk-width-1-1" (selectedChange)="changeLocation($event)">
<nb-option *ngFor="let adj of adjLocations" [value]="adj">
{{adj.name}}
</nb-option>
</nb-select>
你应该可以在你的 changeLocation 方法中使用它
changeLocation(selected: [TYPE OF adj]): void {
// do stuff
}