primeng - 在可编辑数据表中显示multiSelect的名称

时间:2017-07-19 14:37:40

标签: angular primeng

我最近使用了primeng,我想创建一个可编辑的表,它有一个多选列。

经过一番尝试后,这就是结果。但问题是我希望获胜者字段(由候选人填写的p-multiSelect)显示" name"那些候选人(或获胜者)的财产,而不是[对象]。

    </p-dataTable [value]="cycles" [editable]="true">
      <p-column field="name" header="Cycle Name" [editable]="true"></p-column>
      <p-column field="winners" header="Winners" [editable]="true">
      <ng-template let-col let-cycle="rowData" pTemplate="editor">
        <p-multiSelect [(ngModel)]="cycle.winners" [options]="candidates"  [style]="{'width':'100%'}" required="true"  appendTo="body"></p-multiSelect>
      </ng-template>
      </p-column>
    </p-dataTable>


    export class Member {
      id : number;
      name : string;
    }
    export class SortitionCycle {
      id : number;
      sortitionId : number;
      winners? : Member[]; //a list of user ids
      status : number;
    }

任何提示?

1 个答案:

答案 0 :(得分:0)

您的多选项的数据类型必须是SelectItem类型,它定义为标签和值。您应该将您的值设置为您当前拥有的ID,并将您的标签设置为您的姓名。然后,multiselect将自动显示正确的属性。