我正在尝试重建下拉列表,但遇到了一些问题。我在我的项目中使用基本下拉菜单,我需要在单击输入字段时查看整个选项列表。我不能使用第二个示例中的箭头图标。我已经尝试使用文档中的以下事件:onDropdownClick、onSelect 和 [dropdown]="true" 但它们不起作用,我不知道为什么。你能给我一些关于如何解决这个问题并在点击时获得选项的建议吗?此致。
import { Component } from '@angular/core';
import { MenuItem } from 'primeng/api';
import { SelectItem } from 'primeng/api';
import { SelectItemGroup } from 'primeng/api';
import { CountryService } from './countryservice';
@Component({
selector: 'app-root',
templateUrl: './app.component.html',
providers: [CountryService]
})
export class AppComponent {
country: any;
countries: any[];
filteredCountriesSingle: any[];
filteredCountriesMultiple: any[];
brands: string[] = ['Audi', 'BMW', 'Fiat', 'Ford', 'Honda', 'Jaguar', 'Mercedes', 'Renault', 'Volvo', 'VW'];
filteredBrands: any[];
brand: string;
constructor(private countryService: CountryService) { }
filterCountrySingle(event) {
let query = event.query;
this.countryService.getCountries().then(countries => {
this.filteredCountriesSingle = this.filterCountry(query, countries);
});
}
filterCountryMultiple(event) {
let query = event.query;
this.countryService.getCountries().then(countries => {
this.filteredCountriesMultiple = this.filterCountry(query, countries);
});
}
filterCountry(query, countries: any[]): any[] {
//in a real application, make a request to a remote url with the query and return filtered results, for demo we filter at client side
let filtered: any[] = [];
for (let i = 0; i < countries.length; i++) {
let country = countries[i];
if (country.name.toLowerCase().indexOf(query.toLowerCase()) == 0) {
filtered.push(country);
}
}
return filtered;
}
filterBrands(event) {
this.filteredBrands = [];
for (let i = 0; i < this.brands.length; i++) {
let brand = this.brands[i];
if (brand.toLowerCase().indexOf(event.query.toLowerCase()) == 0) {
this.filteredBrands.push(brand);
}
}
}
}