【发布时间】:2016-07-10 11:29:26
【问题描述】:
我正在尝试将Select2 集成到我正在构建的Angular2 应用程序中。我设法让select2 运行,并且我的多项选择按预期进行了转换。我现在的问题是我应该如何获取选定的值以及我应该使用哪个事件进行绑定。我尝试在 select 元素上绑定 (change) 事件,但什么也没发生。也许我应该在插件select2-container 元素创建的其他事件上使用一些其他事件?select2 插件集成在this 答案之后。
有人试过类似的组合吗?是否可以让它工作或者我必须切换到ng2-select 指令?
更新
奖金问题:) - 即使我放弃select2 并使用标准多选,我应该如何获得它的价值?我尝试使用[(ngModel)]="_selectedValues" 将其绑定到一个属性,但是当我选择任何选项时它仍然为空。多选框是多选的唯一方式吗?
更新 2
对于奖金问题 - 我发现的解决方法是使用一种方式事件绑定,如(change)="selectedValues=$event.target.selectedOptions"。然后我为selectedValues 属性添加了setter,如下所示:
public set selectedValues(value: Array<any>) {
this._selectedValues.length = 0;
for(let v of value){
this._selectedValues.push(v.value);
}
};
【问题讨论】:
-
至于 ng2-select,我发现它到目前为止还太不成熟,无法用于除真正基本用例之外的任何用途。
标签: jquery angular typescript jquery-select2