我的組件是一個自動完成器。但它位於一個固定的高度div內,並且結果div需要被父對象放置並正確顯示。在angular2中做到這一點的正確方法是什麼?我如何使用angular2添加元素到身體
@Component({
selector: 'autocomplete',
template: `
<div class="container" >
<div>
<input id="search" type="text" class="validate filter-input" [(ngModel)]=query (keyup)="filter()">
</div>
<div *ngIf="filteredList.length > 0">
<ul *ngFor="let item of filteredList" >
<li >
<a (click)="select(item)">{{item}}</a>
</li>
</ul>
</div>
</div>`,
})
export class AutocompleteComponent {
private items: string[];
public query: string;
public filteredList: string[];
public elementRef: ElementRef;
constructor(element: ElementRef) {
this.items = ['foo', 'bar', 'baz'];
this.filteredList = [];
this.query = '';
this.elementRef = element;
}
filter() {
if (this.query !== '') {
this.filteredList = this.items.filter(function(item) {
return item.toLowerCase().indexOf(this.query.toLowerCase()) > -1;
}.bind(this));
}
else {
this.filteredList = [];
}
}
}
會不使用CSS來獲得所需的結果?相對於輸入的位置? – garethb
@garethb元素處於固定高度,因此任何溢出都會隱藏起來 – Brett