mkH*_*Hun 6 primeng angular primeng-table
我有像数组一样的数据点。所以我试图在数组中搜索值,但它不能在priming中工作
在组件文件中,我有下面的代码部分,
tableHeader = [
{ field: 'name', header: 'Name' },
{ field: 'skills', header: 'Skills' },
];
modelData = [
{ "label": "HTML", "value": "HTML" },
{ "label": "Css", "value": "Css" },
{ "label": "Angular", "value": "Angular" },
{ "label": "Python", "value": "Python" },
{ "label": "Perl", "value": "Perl" },
{ "label": "JS", "value": "JS" },
{ "label": "Java", "value": "Java" }
];
data = [
{
name:"User1",
skills:["JS","Java","Angular"]
},{
name:"TestUser",
skills:["HTML","Css"]
},{
name:"Root",
skills:["HTML","Css","Angular","Python","Perl"]
}
];
Run Code Online (Sandbox Code Playgroud)
和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>
<p-multiSelect [options]="modelData" (onChange)="dt.filter($event.value, 'skills', 'in')"></p-multiSelect>
</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>
Run Code Online (Sandbox Code Playgroud)
我可以搜索该Name字段,但不能搜索该Skills字段。因为它包含数组值。
努力获得正确的搜索结果,我已经尝试过了,它对我有用。
尝试在 {{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>
Run Code Online (Sandbox Code Playgroud)