我正在做一个小项目,我需要过滤和显示找到的人/客户。
我的模态如下:
我需要在这里实现的是:
1。)输入一个数字代码,例如123,并使用该代码检查客户,然后将其显示在下拉列表中,即select2。
2。)显示此模态且我的代码如下时,我会得到所有人员的列表:
@Component({
selector: 'screen-person',
templateUrl: './ screen-person.component.html',
styleUrls: ['./ screen-person.component.css']
})
export class PersonComponent implements OnInit {
private id: string;
private listOfPersons: Array<Person>;
constructor(private _personsService: PersonsService) {
}
ngOnInit() {
}
show() {
$('#' + this.id).modal('show');
// Here I get all of the persons when modal is shown
this._personsService.getAll().subscribe(listOfPersons => this.listOfPersons = listOfPersons);
}
}
当我输入代码并从列表中获取结果时,我想选择相应的行,例如,如果我输入属于Person 1的代码而不是选择Person 1并在所选下拉菜单中显示它。
我正在过滤/搜索这样的人:
searchForPersons(filterBy: string) {
// We are using array .filter method to create a new array with elements
this.customers = this.listOfPersons.filter((person: Person) =>
person.cardNumber.toLocaleLowerCase().indexOf(filterBy) !== -1);
}
在我的html中:
<div class="form-group">
<input #code type="text" class="form-control dash-form-control" id="" placeholder="" (keyup.enter)="searchForPersons(code.value)" autofocus>
<div style="margin-top: 10px;">
<select id="personSelect" class="form-control dash-form-control select2" style="width: 100%;">
<option selected disabled>Search...</option>
<option [value]="person.id" *ngFor="let person of customers ">{{person.title}}</option>
</select>
</div>
</div>
再说一次,我该如何在下拉列表中选择找到的人,所以我不需要打开下拉列表在过滤列表中查找并单击它。
谢谢,伙计们 干杯