首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在angular 4+中使用ng2-completor中的ImageField和descriptionField?

如何在angular 4+中使用ng2-completor中的ImageField和descriptionField?
EN

Stack Overflow用户
提问于 2019-05-27 17:41:55
回答 2查看 195关注 0票数 0

我正在用angular 6开发项目,我在我的搜索框中使用了ng2-completor。我使用了包含字符串列表的completerService.local

代码语言:javascript
复制
<div><ng2-completer [datasource]="countryLists" id="global_search"
    [openOnFocus]="true"
    [minSearchLength]="1" [clearSelected]="true"
    [clearUnselected]="true" [openOnFocus]='false' (click)="onFocus()"
    placeholder="{{ 'Search '}}"
    [fillHighlighted]="false" (selected)="searchMyCountry($event)"></ng2-completer>
</div>

现在,我想添加一个图像和描述,就像他们在演示链接中给出的一样

Demo Link

但是我找不到如何使用它。

我该怎么做呢?

EN

回答 2

Stack Overflow用户

发布于 2019-05-27 18:12:17

Hello使用下面的示例:HTML

代码语言:javascript
复制
<form class="example-form">
<mat-form-field class="example-full-width">
<input matInput placeholder="State" aria-label="State" [matAutocomplete]="auto" [formControl]="stateCtrl">
<mat-autocomplete #auto="matAutocomplete">
<mat-option *ngFor="let state of filteredStates | async" [value]="state.name">
<img style="vertical-align:middle;" aria-hidden src="{{state.flag}}" height="25" />
<span>{{ state.name }}</span> |
<small>Population: {{state.population}}</small>
</mat-option>
</mat-autocomplete>
</mat-form-field>
<br />
<mat-slide-toggle
[checked]="stateCtrl.disabled"
(change)="stateCtrl.disabled ? stateCtrl.enable() : stateCtrl.disable()">
Disable Input?
</mat-slide-toggle>
</form>

和TS

代码语言:javascript
复制
import {Component} from '@angular/core';
import {FormControl} from '@angular/forms';
import {Observable} from 'rxjs';
import {map, startWith} from 'rxjs/operators';
export class State {
constructor(public name: string, public population: string, public flag: string) { }
}
/**
* @title Autocomplete overview
*/
@Component({
selector: 'autocomplete-overview-example',
templateUrl: 'autocomplete-overview-example.html',
styleUrls: ['autocomplete-overview-example.css']
})
export class AutocompleteOverviewExample {
stateCtrl: FormControl;
filteredStates: Observable<any[]>;
states: State[] = [
{
name: 'Arkansas',
population: '2.978M',
// https://commons.wikimedia.org/wiki/File:Flag_of_Arkansas.svg
flag: 'https://upload.wikimedia.org/wikipedia/commons/9/9d/Flag_of_Arkansas.svg'
},
{
name: 'California',
population: '39.14M',
// https://commons.wikimedia.org/wiki/File:Flag_of_California.svg
flag: 'https://upload.wikimedia.org/wikipedia/commons/0/01/Flag_of_California.svg'
},
{
name: 'Florida',
population: '20.27M',
// https://commons.wikimedia.org/wiki/File:Flag_of_Florida.svg
flag: 'https://upload.wikimedia.org/wikipedia/commons/f/f7/Flag_of_Florida.svg'
},
{
name: 'Texas',
population: '27.47M',
// https://commons.wikimedia.org/wiki/File:Flag_of_Texas.svg
flag: 'https://upload.wikimedia.org/wikipedia/commons/f/f7/Flag_of_Texas.svg'
}
];
constructor() {
this.stateCtrl = new FormControl();
this.filteredStates = this.stateCtrl.valueChanges
.pipe(
startWith(''),
map(state => state ? this.filterStates(state) : this.states.slice())
);
}
filterStates(name: string) {
return this.states.filter(state =>
state.name.toLowerCase().indexOf(name.toLowerCase()) === 0);
}
}
票数 0
EN

Stack Overflow用户

发布于 2020-06-23 18:14:18

在给出的示例中,您可以检查completerService是否先与local链接,然后与imageField函数链接。

代码语言:javascript
复制
this.dataService = completerService.local(this.countries, "name", "name").imageField("flag");

Link to example in GitHub

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56323469

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档