Angular 2 - 选择2个多重和反应形式

时间:2017-09-29 11:00:33

标签: angular jquery-select2 angular-reactive-forms

我正在开发一个Angular 2应用程序,我目前正在努力使用select2(多个选项设置为true)(https://github.com/NejcZdovc/ng2-select2)并在反应形式中使用它。我在问题中找到了一些自定义,如下所示:

https://pastebin.com/Gw36MB93

但是当我实际将select2放在表单中然后在页面上打印表单的值时,选择的值是一个空列表。我想ControlValueAccessor接口没有完全正确实现,但经过多次尝试后我找不到任何解决方案。

我使用这样提到的select2组件:

...
<select2 [data]="instruments" formArrayName="instruments" [options]="{multiple: true}"></select2>
...

顺便说一句 - 我知道我可以像我这样<select2 #select ...>得到我的Select2Component的值,但实际上我使用Select2Component作为FormArray中的表单字段。为了清楚起见,我的表格看起来像这样:

<div [formGroup]="clientForm">
  <input type="text" formControlName="first_name">
  <input type="text" formControlName="last_name">
  <app-events-array #events_array></app-events-array>
</div>

<app-events-array>是包含一系列事件的用户(用户可以添加空白事件并删除选定的事件,例如通常的formset):

<div [formGroup]="eventsForm">
  <p-calendar formControlName="start"></p-calendar>
  <p-calendar formControlName="end"></p-calendar>
  <select2 [data]="instruments" formArrayName="instruments" [options]="{multiple: true}"></select2>
</div>

一切正常,我唯一可以开始工作的是app-events-array中的这些乐器select2。当我events_array.events.value(其中.eventsFormArray时,我会得到一个空列表,尽管选择了选项。

我错过了什么?

祝你好运, 丹尼尔

0 个答案:

没有答案