首页 > 解决方案 > 从 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/文本,并且列表呈现没有任何问题。

提前致谢。

标签: angularnebular

解决方案


您在 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 
 }

推荐阅读