如何使用ngx-chips设置初始值

时间:2019-11-04 03:20:26

标签: javascript angular ngx-chips

我在tag-input上设置初始值时遇到问题。当admin单击编辑按钮tag-input时,必须从database获得一些初始值。我怎样才能做到这一点 ?这是我的代码示例:

<tag-input formControlName="ticketTypes">
  <tag-input-dropdown
    [showDropdownIfEmpty]="true"
    [dynamicUpdate]="false"
    [focusFirstElement]="true"
    [displayBy]="'name'"
    [identifyBy]="'name'"
    [autocompleteItems]="ticketType"
 >
   <ng-template let-item="item" let-index="index">
     {{ item.name }}
   </ng-template>
 </tag-input-dropdown>
</tag-input>

以下是一些内容:

setHall() {
    if (this.halls !== undefined) {
      this.loadFirst = false;
      this.halls.forEach(hall => {
        console.log(hall.ticketTypes);
        this.formArray.push(
          this.fb.group({
            name: hall.name,
            availableWindowCount: hall.availableWindowCount,
            totalWindowCount: hall.totalWindowCount,
            ticketTypes: []
          })
        );
      });
    }
  }

当用户单击编辑按钮时,上面的函数将被调用,它会抛出一些数据并将其设置在表单组上。但是我需要在tag-input中添加一些值。我真正想要的是当用户单击“编辑”按钮时,标签输入上的一些初始值。我究竟做错了什么 ?。

1 个答案:

答案 0 :(得分:0)

有一个(onFocus)="onInputFocused($event)"事件。您可以在此处致电您的服务器,并使用检索到的样本数据填写表单。例如

this.service.getTicketTypes().then(tt=>{
    this.form.controls.ticketTypes.setValue(JSON.parse(tt));
})