Я использую ng2-ui / auto-complete в качестве расширенного раскрывающегося списка и пытаюсь добавить событие щелчка (стрелка справа), чтобы раскрывающийся список открывался со всеми элементами (без фильтра), так же, как и при открытиикогда вы щелкнете в пустом поле ввода.
это будет означать, что мне нужно установить ключевое слово на "" и перезагрузить раскрывающийся список.я думал, что мой метод onClick может сделать это.Он срабатывает, когда я нажимаю, но не перезагружает выпадающий список.
import {Component } from '@angular/core';
import { DropDown } from '../diverse/dropdown.component';
import { Branch } from '../dbModels/Branch';
@Component({
selector: 'branch-drop',
template: '<input ngui-auto-complete id="branch" [(ngModel)]="model2" [source]="data" list-formatter="Name" (click)="onClick($event)" (valueChanged)="valueChanged($event)" placeholder="enter text" [match-formatted]="true" [disabled]="disabled" />'
})
export class BranchDrop extends DropDown {
ngOnChanges() {
if(!this.src)
return false;
//branch dropdown data
var tmpData : Branch[] = [];
for(var i in this.src.UUID) {
var tmp : Branch = new Branch();
tmp.UUID = this.src.UUID[i];
tmp.Name = this.src.Name[i];
tmpData.push(tmp);
}
this.data = tmpData;
//init option
if(this.initVal) {
this.model2 = this.getEntry(this.initVal);
}
}
getEntry(id: string) : Branch {
for(var d in this.data) {
if(this.data[d].UUID == id)
return this.data[d];
}
}
valueChanged(newVal) {
this.val.emit(newVal.UUID);
}
onClick(e : any) {
//if click on arrow
// width - 35px
if(e.offsetX > e.currentTarget.clientWidth - 35) {
console.log("arrow");
//maybe highlight selected one in list
// search empty so complete dropdown is shown
this.model2 = "";
//jquery???
// document.getElementById("branch").blur();
// document.getElementById("branch").focus();
this.reloadList("");
this.showDropdownList(e);
}
}
}
Очевидно, что this.reloadList ("");не будет работать так, потому что я не знаю, как получить доступ к директиве автозаполнения.Можете ли вы помочь мне с этим или покажите мне лучший способ?