在拉动"键入"时,PrimeNG多选不在模型驱动形式中绑定服务器的数据

时间:2018-06-18 22:37:17

标签: primeng

我正在以反应式Angular形式使用PrimeNG Multiselect。

我可以通过chrome dev工具看到从服务器返回的值数组,但是我无法弄清楚如何将它绑定到多选。

模块导入组件和app模块:

import { MultiSelectModule } from 'primeng/multiselect';

模板:

    <p-multiSelect [options]="activities" [optionLabel]="ActivityName" [panelStyle]="{minWidth: '300px'}" [showHeader]="true" formControlName="selectedActivities"></p-multiSelect>

类别:

export class ChemicalEditComponent implements OnInit {
  activities: ActivityType[];
  selectedActivities: ActivityType[];

    constructor(
        private _chemicalService: ChemicalService,
        private fb: FormBuilder
    ) {
        this.getActivities();
        this.getSelectedActivities();
        this.createForm();
    }

    ngOnInit() {
      this.getChemical();
    }

    getActivities(): void {
        this._chemicalService.getActivities().subscribe(result => this.activities = result);
    }

  getSelectedActivities(): void {
    this._chemicalService.getActivitiesByChemical(this.chemicalId).subscribe(result => this.selectedActivities = result);
  }

  createForm() {
    this.chemicalForm = this.fb.group({
      brandName: '',
      commonName: '',
      formulation: '',
      selectedActivities: ''
    });
  }

  rebuildForm() {
    this.chemicalForm.reset({
      brandName: this.chemical.BrandName,
      commonName: this.chemical.CommonName,
      formulation: this.chemical.Formulation,
      selectedActivities: this.selectedActivities
    });
  }

从服务器返回的json如下所示:

0:{ActivityTypeId: 61, ActivityName: "Driving"}
1:{ActivityTypeId: 62, ActivityName: "Strolling"}

我看到所有的例子都使用&#34;标签&#34;和&#34;价值&#34;但我的是从服务器输入的。我假设问题是我需要指定什么是标签&amp;值,所以我添加了[optionLabel]标签,但没有帮助。

0 个答案:

没有答案