2つのフィルタメソッドを使用して文字列に基づいてオブジェクト内の配列をフィルタリングしようとしています。ここに私のオブジェクトがどのように見えるかがあります。私はvalue.desc
にフィルタリングしてここcat
オートコンプリートを使用するオブジェクト内のフィルタ配列
を返すようにしようとしています
[
{
"cat": "Accommodation and Food Service Activities",
"value": [
{
"sic": "55",
"desc": "Accommodation"
},
{
"sic": "56",
"desc": "Food and beverage service activities"
}
]
},
{
"cat": "Activities Of Extraterritorial Organisations and Bodies",
"value": [
{
"sic": "99",
"desc": "Activities of extraterritorial organisations and bodies"
}
]
}
]
は、私がこれまで
filteredIndustries(industry: string) {
if (industry) {
return this.industries.filter(sector => {
if (sector.value) {
sector.value.findIndex(v => {
return v.desc.toString().toLowerCase().indexOf(industry.toString().toLowerCase()) === 0;
});
}
});
} else {
return this.industries;
}
とここに私のhtmlでてきたもので、
<md-input-container>
<input mdInput placeholder="Industry" [mdAutocomplete]="auto" [formControl]="industryCtrl">
</md-input-container>
<md-autocomplete #auto="mdAutocomplete" [displayWith]="displayIndustry.bind(this)">
<md-option *ngFor="let industry of filteredIndustry | async" [value]="industry">
{{ industry.cat }}
</md-option>
</md-autocomplete>
だから私は食べ物を入力するとき、それはvalue.desc
にフィルターをかけて、を返すべきですこれはAccommodation and Food Service Activities
ですが、戻り値が真であっても戻り値は得られません。
ご協力いただければ幸いです。
SOへようこそ!これは良い最初の質問です。あなたのコードを投稿し、問題を適切に説明して、簡単にあなたを助けてください。 +1 –