日付列に基づいてテーブル内のレコードをフィルタリングする方法。フィルタに次のコードを使用していますが、次のようなスローエラーが発生します
エラーTypeError:nullのプロパティ 'indexOf'を読み取れません
temp = [{ "firstName":"Ravi", "date":"2019-04-04T06:12:43.541Z", "status":"created" }, { "firstName":"Shagul", "date":"2019-04-05T06:12:43.541Z", "status":"created" }, { "firstName":"Abdul", "date":"2019-04-05T06:12:43.541Z", "status":"created" }, { "firstName":"Gani", "date":"2019-04-05T06:12:43.541Z", "status":"created" }];
public updateFilter(event) {
const temp = this.temp.filter(function (d) {
return (
d.firstName.toLowerCase().indexOf(val) !== -1 ||
d.date.toLowerCase().indexOf(val) !== 1 ||
d.status.toLowerCase().indexOf(val) !== -1 ||
!val
);
});
this.rows = temp;
this.table.offset = 0;
}
私があなたのコードから推測できることからtemp
、フィルタリングされたデータを格納する「一時的な」ストアは正しいですか?そして、私val
はフィルター文字列だと思います。
あなたは近くにいますが、次の修正を行う必要があります。
updateFilter(event) {
const temp = this.temp.filter(d => {
const firstNameMatch = d.firstName.toLowerCase().indexOf(val) !== -1 || !val;
const dateMatch = d.date.indexOf(val) !== -1 || !val;
const statusMatch = d.status.toLowerCase().indexOf(val) !== -1 || !val;
return firstNameMatch || dateMatch || statusMatch;
});
this.rows = temp;
this.table.offset = 0;
}
日付toLowerCase()
については、検索文字列が大文字であるかどうかわからないため、使用しませんでした。(例:2019-04-04T06:12:43.541Z)
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加