【问题标题】:send checkbox ngModel into filter将复选框 ngModel 发送到过滤器
【发布时间】:2021-11-15 15:16:59
【问题描述】:

我的目标是,如果用户单击悬停面板中的某个项目,则所有用户都会被过滤,并且表格仅显示在此特殊类别中获得相同项目的用户。 我目前的问题是我的 chechbox 的 ngModel 不能正常工作。如果我单击其中一个复选框,它只会返回真或假。

<ng-container *ngFor="let char of allChars">
                                        <mat-checkbox [(ngModel)]="resultModel.char" (ngModelChange)="FilterChanged()" name="allgemeinesMerkmal">
                                            {{char.bezeichnung}}
                                        </mat-checkbox>
                                    </ng-container>

我已经尝试传递 resultModel.char.bezeichnung 但是控制台返回错误: 无法读取未定义的属性(读取“bezeichnung”)

所以我不知道如何处理这个特定的复选框值。我需要这些值,因为我想将复选框传递到我的过滤器中,如下所示:

map( p => (!this.resultModel) ? p:p.filter(((i:any) => this.getAllgemeineMerkmaleBezeichnung(i.allgemeinesMerkmal)?.toLowerCase().includes(this.resultModel.toLowerCase())))),

//My getAllgemeineMerkmale function
 getAllgemeineMerkmaleBezeichnung(allgemeinesMerkmal: AllgemeineMerkmaleZuordnungen[]){
    return this.allChars.filter((i:any) =>  allgemeinesMerkmal.findIndex(p => p.allgemeinesMerkmalId == i.allgemeinesMerkmalId) >= 0).map((p:any) => p.bezeichnung);
  }

【问题讨论】:

    标签: angular


    【解决方案1】:

    您是否在寻找“价值”?

    {{char.bezeichnung}}

    【讨论】:

    • 至少它的值是yes,但是点击item的值需要通过ngModel传入过滤器
    • 您的 [(ngModel)]="resultModel.char" 应该是在组件中声明的局部变量,例如 [(ngModel)]="myResultModel" 然后您可以使用变量。
    猜你喜欢
    • 2021-07-18
    • 2014-07-21
    • 2011-10-25
    • 1970-01-01
    • 2015-12-01
    • 1970-01-01
    • 1970-01-01
    • 2015-08-05
    • 1970-01-01
    相关资源
    最近更新 更多