Это работает для меня:
<ng-select #my-select [multiple]="true" [items]="dataList"></ng-select>
Импортируйте следующие классы:
import { ViewChild } from '@angular/core';
import { SelectComponent, SelectItem } from 'ng2-select';
В классе компонента получите доступ к компоненту my-select
с помощью декоратора @ViewChild
:
@ViewChild('my-select') mySelectComponent: SelectComponent;
Погружение в исходный код ng2-select намекает, что свойство active
на SelectComponent
содержит выбранные значения. Кроме того, active
- это массив объектов SelectItem
. Таким образом, создание SelectItem
объектов и их перемещение в массив active
должно позволить вам программно добавлять / удалять выбранные элементы.
Переходя к вашему вопросу, давайте установим несколько значений по умолчанию для ng2-select
:
ngOnInit() {
if(!this.mySelectComponent.active) {
this.mySelectComponent.active = new Array<SelectItem>();
}
this.mySelectComponent.active.push(new SelectItem("Apple"));
this.mySelectComponent.active.push(new SelectItem("Banana"));
}
Вы также можете очистить все существующие значения:
reset() {
if(this.mySelectComponent.active) {
this.mySelectComponent.active.length = 0;
}
}
Примечание. Конструктор SelectItem
принимает в качестве параметра строку или объект. Если вы передадите строку, id
и text
будут установлены на строковое значение. Если вы хотите передать разные значения для id
и text
, вы можете сделать это:
this.mySelectComponent.active.push(new SelectItem({id:'apl', text:'Apple'}));
person
shreyanshd
schedule
04.05.2017
ng2-select
вы используете? - person Günter Zöchbauer   schedule 23.05.2016