首页 > 解决方案 > PrimeNG dataView 搜索框设置问题

问题描述

我正在使用带有 Angular 5 的 p-dataView 并出现错误

无法读取 DataView.filter 中未定义的属性“拆分”

我阅读了文档,但找不到任何可以解决我的问题的东西。打字稿方面也不需要代码......所以我只有这个html代码注意搜索应该指向复选框(app_name)

  <p-dataView [value]="iApps" #dv [paginator]="true" [rows]="20"  paginatorPosition="both">
<p-header> 
      <input type="search" pInputText placeholder="Search" (keyup)="dv.filter($event.target.value)">
</p-header>

                  <ng-template let-apps let-rowIndexValue="rowIndex" pTemplate="listItem">

                           <input type="checkbox" (click)="toggleSelectedApp($event,rowIndexValue)" id="defaultAppID" name="defaultApps" style="margin-right:5px;margin-bottom:5px;margin-left:5px; margin-top:5px" [value]='apps.app_id'> {{apps.app_name}}

                                                    <select name="role" class="dropdown"  style="width:85%" (ngModelChange)="selectedDefaultAppRole($event,rowIndexValue)" [(ngModel)]="apps.seletedAppRoleID">
                                                        <option class="dropdown-item" value="-1" selected>Select</option>
                                                        <option class="dropdown-item" *ngFor='let role of apps.roles' [ngValue]="role.app_role_id">
                                                            {{role.app_role_name}}
                                                        </option>
                                                    </select>

                                    </ng-template>

                                </p-dataView>

标签: angulartypescriptprimengprimeng-datatable

解决方案


如果您使用过滤器。我认为您也应该使用 filterBy 属性。

<p-dataView #dv [value]="cars" filterBy="brand">

根据文档过滤是通过定义 filterBy 属性并调用组件的过滤器函数来实现的。我怀疑因为这个你得到错误' split' of undefined at DataView.filter


推荐阅读