我尝试使用 ng2-completer 工具为完成器列表中元素标题的一部分添加一些样式(粗体)。为此,我为此创建了一个自定义CompleterData
类。
export class CityCustomData extends Subject<CompleterItem[]> implements CompleterData {
constructor(private http: HttpClient) {
super();
}
public search(term: string): void {
const params = new HttpParams()
.set('featureClass', 'P')
.set('username', 'oopet')
.set('lang', 'fr')
.set('maxRows', '10')
.set('name_startsWith', term);
this.http.get('http://api.geonames.org/searchJSON', { params
})
.map((res) => {
const data = <any[]>res['geonames'];
const matches: CompleterItem[] = data.map((elt: any) => this.convertToItem(elt));
this.next(matches);
})
.subscribe();
}
public cancel() {
// Handle cancel
}
public convertToItem(data: any): CompleterItem | null {
if (!data) {
return null;
}
return {
title: `${data.name} - ${data.countryName}`,
originalObject: data
} as CompleterItem;
}
}
在返回的title
字段中,我想用粗体显示国家名称。
这可能吗?我使用正确的方法吗?
感谢您的帮助! 蒂埃里