我的数据点就像一个数组。因此,我试图在数组中搜索值,但在primeng中不起作用
在组件文件中,我具有下面的代码部分,
tableHeader = [
{ field: 'name', header: 'Name' },
{ field: 'skills', header: 'Skills' },
];
data = [
{
name:"User1",
skills:["JS","Java","Angular"]
},{
name:"TestUser",
skills:["HTML","Css"]
},{
name:"Root",
skills:["HTML","Css","Angular","Python","Perl"]
}
];
HTML是
<p-table #dt [value]="data">
<ng-template pTemplate="header">
<tr>
<th>Name</th>
<th>Skills</th>
</tr>
<tr>
<th>
<input pInputText type="text" (input)="dt.filter($event.target.value, 'name', 'contains')">
</th>
<th>
<input pInputText type="text" (input)="dt.filter($event.target.value, 'skills', 'contains')">
</th>
</tr>
</ng-template>
<ng-template pTemplate="body" let-rowData>
<tr>
<td>{{rowData['name']}}</td>
<td>
<span *ngFor="let skill of rowData.skills;">
{{skill}}
</span>
</td>
</tr>
</ng-template>
<p-table>
我可以搜索Name
字段,但不能搜索Skills
字段。因为它包含数组值。
答案 0 :(得分:0)
努力获得我尝试过的正确搜索结果,并且对我有用。
尝试在{{skill}}字符串之后添加逗号“,” 如有任何混乱,请通知我。
喜欢这个:-
<p-table #dt [value]="data">
<ng-template pTemplate="header">
<tr>
<th>Name</th>
<th>Skills</th>
</tr>
<tr>
<th>
<input pInputText type="text" (input)="dt.filter($event.target.value, 'name', 'contains')">
</th>
<th>
<input pInputText type="text" (input)="dt.filter($event.target.value, 'skills', 'contains')">
</th>
</tr>
</ng-template>
<ng-template pTemplate="body" let-rowData>
<tr>
<td>{{rowData['name']}}</td>
<td>
<span *ngFor="let skill of rowData.skills;">{{skill}},</span>
</td>
</tr>
</ng-template>
<p-table>