我最近使用了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;
}
任何提示?
答案 0 :(得分:0)
您的多选项的数据类型必须是SelectItem类型,它定义为标签和值。您应该将您的值设置为您当前拥有的ID,并将您的标签设置为您的姓名。然后,multiselect将自动显示正确的属性。