我用您所提供的相同的代碼。它爲我工作。你能確保AU_ID是一個字符串,作爲參數而不是數字來傳遞,在這種情況下,indexOf將不起作用。
transform(value: Array<any>, filterBy: string, filterBy2: string): Array<any> {
filterBy = filterBy ? filterBy.toLocaleLowerCase() : null;
filterBy2 = filterBy2 ? filterBy2 : null;
return value.filter((searchresult: Array<any>) =>
(filterBy2 ? searchresult['AU_ID'].indexOf(filterBy2) !== -1 : true) &&
(filterBy ? searchresult['first_name'].toLocaleLowerCase().indexOf(filterBy) !== -1 : true)
);
}
在HTML文件中,我用下面的代碼:
<div *ngFor="let dummy of dummyData | screeningSearch: 'A' : '1'">hi {{dummy.first_name}}</div>
保存的數據如下:
dummyData = [
{
'AU_ID': '1234',
'first_name': 'Albert'
},
{
'AU_ID': '5678',
'first_name': 'Andi'
}
];
結果:
hi Albert
你能簡化這到[mcve]?這似乎相當複雜,你沒有提供任何投入和預期/實際產出。 – jonrsharpe
這是我編寫的管道變換的所有代碼。問題不是關於其他問題,而是關於其他問題,但是隻有返回部分。如果我以這種方式編寫,他們兩個都可以工作嗎? –
...什麼? *「這是所有的代碼」*是問題的一部分,你有沒有對自己的任何調試? – jonrsharpe