首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Angular not filtering by下拉选项

Angular not filtering by下拉选项
EN

Stack Overflow用户
提问于 2021-05-04 11:21:56
回答 1查看 48关注 0票数 0

我有一个表的数据从数据库,我需要过滤该表使用下拉菜单。问题是,即使我设法在控制台上获得已过滤的表,该表也不会被过滤:它只是前端没有显示。我的过滤函数如下:

代码语言:javascript
复制
FiltrarTipoGestion(data) {
    let tipoGestion = data;
    if (data != "0") {      
        this.listPerfilamiento2 = this.listPerfilamiento.filter(x => x.tipoGestionDescripcion.toLowerCase() == tipoGestion.toLowerCase());
    } else {
        this.listPerfilamiento2 = this.listPerfilamiento;
    }
}

HTML中的过滤器如下所示:

代码语言:javascript
复制
        <label class="col-lg-1 float-left">Tipo de gestión</label>
        <div class="col-lg-2 float-left">
            <select (change)="FiltrarTipoGestion($event.target.value)" [(ngModel)]="perfilamiento.tipoGestionDescripcion" class="form-control form-control-sm">
                <option *ngFor="let tg of listTipoGestion;" value="{{tg.nombre}}">{{tg.nombre}}</option>
            </select>
        </div>

我已经减少了在前端过滤器中的错误,因为我可以在执行console.log时过滤数据。任何帮助或提示都是非常感谢的。

编辑:数组从这里获取数据:

代码语言:javascript
复制
this._service.getListarPerfilamiento(this.TipoPerfilId).subscribe((data) => {
  this.listPerfilamiento = data['data'];
  this.listPerfilamiento2 = data['data'];
  this.listPerfilamientoAll = data['data'];
 
  if (this.TipoPerfilId == 1) {
    this.ShowAgencia = true;
    this.ShowMensajeria = false;


  } else {
    this.ShowAgencia = false;
    this.ShowMensajeria = true;
  }
})
EN

回答 1

Stack Overflow用户

发布于 2021-05-05 03:57:13

我发现了问题:我需要在ngFor上使用新数组的过滤列表来显示:我更改了

代码语言:javascript
复制
<tr *ngFor="let pf of listarPerfilamiento; index as i; let l = count;" style="cursor: pointer;">

代码语言:javascript
复制
<tr *ngFor="let pf of filteredPerfilamiento; index as i; let l = count;" style="cursor: pointer;">

感谢大家花时间阅读和评论。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/67378368

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档