Это работает для меня:
<ng-select #my-select [multiple]="true" [items]="dataList"></ng-select>
Импорта следующих классов:
import { ViewChild } from '@angular/core';
import { SelectComponent, SelectItem } from 'ng2-select';
В компонентной CLAS s, доступ к my-select
компонент с помощью @ViewChild
декоратора:
@ViewChild('my-select') mySelectComponent: SelectComponent;
Дайвинг в NG2-выберите исходный код намекает, что 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'}));
Не могли бы вы добавить код, который демонстрирует, что вы пробовали и что не работает. Какой 'ng2-select' вы используете? –
На самом деле, демонстрация не работает для multi-select. Мой код выглядит так. – rkralston
https://valor-software.com/ng2-select/ tab для нескольких. Владелец места говорит, что ни один город не выбран. Код TS показывает, что Афины должны быть выбраны. Аналогичный код не работает и для одиночного. – rkralston