angular6 - 如何在 ng-select 中搜索多个字段?

标签 angular6 angular5 angular7 angular-ngselect

我想在 ng-select 下拉列表中合并两个 API 字段“ 代码和名称 ”。
例如:-

  Code       : MI

  name       : MI 3sPrime

 Format      : MI - MI 3sPrime

我使用以下代码进行下拉

组件.Html
<ng-select [items]="products" bindLabel="code" bindValue="id"
                placeholder="Select Goods Receipt" clearAllText="Clear" formControlName="productId" [searchFn]="customSearchFn">

                  <ng-template ng-label-tmp let-item="item">
                    <span [ngOptionHighlight]="search">{{ item.code }} - {{ item.name }}</span>
                  </ng-template>

                  <ng-template ng-option-tmp let-item="item" let-search="searchTerm" let-index="index">
                    <span [ngOptionHighlight]="search">{{ item.code }} - {{ item.name }}</span>
                  </ng-template>

</ng-select>

组件.ts
  customSearchFn(term: string, item: any) {
    term = term.toLocaleLowerCase();
    return item.code.toLocaleLowerCase().indexOf(term) > -1 || 
    item.name.toLocaleLowerCase().indexOf(term) > -1;
 }

搜索:搜索时正在获取代码和名称。但我想搜索代码、名称和给定格式(代码 - 名称)

下面是图表

enter image description here

在这里,当我搜索 “我——” , 搜索不起作用

enter image description here

搜索应申请格式代号 - 姓名 ..这意味着当我输入 MI - ,过滤必须工作。
有什么方法吗?有谁能够帮助我?

最佳答案

尝试这个

  customSearchFn(term: string, item: any) {
    term = term.toLocaleLowerCase();
    return item.code.toLocaleLowerCase().indexOf(term) > -1 || 
    item.name.toLocaleLowerCase().indexOf(term) > -1 || 
    (item.code + " - " + item.name).toLocaleLowerCase().indexOf(term) > -1;
 }

关于angular6 - 如何在 ng-select 中搜索多个字段?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56544296/

相关文章:

angular - 由于未设置 APP_BASE_HREF,在 Angular 6 中测试失败

javascript - 用于嵌套 api 调用的 Angular 6 mergeMap

javascript - 如何使用 Angular 6从纬度和经度获取地址

javascript - 在自定义下拉菜单 Angular 5 中使用箭头导航?

angular - 错误 使用 MatTableExporter 时没有将 "exportAs"设置为 "matTableExporter"的指令

javascript - Angular nativeElement offsetWidth 为 0

angular6 - 如何使用服务器端渲染更新角度数据表中的列数。 6.0.0 或更高版本

javascript - 将元素的属性传递给 Angular 4/5 中的函数

javascript - 如何通过函数将 `linkRef`更新为 `touched`状态?

angular - 为 Angular 应用程序缓存 Assets 文件夹中的静态文件(图像、pdf、png 等)?