You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何从ng-select组件中获取选中的对象值?

嘿,这个问题很常见,我来帮你解决!想要让ng-select返回整个选中的对象而不是单独的ID,其实只需要调整一下bindValue的配置就行,具体有两种常用方式:

  • 方式一:移除bindValue属性
    ng-select默认如果不指定bindValue,会直接把整个选中的item对象作为ngModel的值。你可以删掉代码里的bindValue="ID",这样[(ngModel)]="validFilter.selectedValue"就会自动绑定选中的完整对象了。

  • 方式二:显式绑定整个对象
    如果想要更明确地表明绑定的是整个对象,可以把bindValue设为.,也就是bindValue=".",效果和上面一样,validFilter.selectedValue会存储选中的完整对象。

修改后的代码示例

<ng-container *ngFor="let validFilter of validFiltersData; let i = index" >
  <div *ngIf="validFilter.Values && validFilter.Values.length > 0" class=" filter col-md-4 ">
    <!-- 这里移除了bindValue="ID",或者替换成bindValue="." -->
    <ng-select 
      [items]="validFilter.Values" 
      bindLabel="Text" 
      (change)="onFilterValueChage($event, validFilter)" 
      class="input-md" 
      [(ngModel)]="validFilter.selectedValue">
    </ng-select>
  </div>
</ng-container>

注意:如果你的validFilter.selectedValue之前是用来存储ID(比如数字或字符串类型)的,现在需要确保它初始化为null或者匹配validFilter.Values里的对象结构,避免类型不匹配的问题。另外,(change)事件里的$event参数现在也会是完整的选中对象,你可以在onFilterValueChage方法里直接使用这个对象的所有属性。

内容的提问来源于stack exchange,提问作者Guy E

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.26 10:38:06