PrimeNG 列表框一次选择全部而不是一个

PrimeNG listbox selecting all instead of one at time

我正在使用 angular 4 和 prime ng 4.3.0 来显示对象;然而,当我 select 一个项目时,整个列表 select 而不是一次只列出一行.. 我定义元素的方式有问题吗?

 <p-listbox formControlName="userRole" [options]="this.userRoleItems"   [(ngModel)]="selectedUserRoles" multiple="multiple" [style]='{"width":"650px"}'  checkbox="checkbox" filter="filter"
               >
               <ng-template let-userRole let-i="index" pTemplate="item" optionLabel="userRole.description">
                  {{userRole.code}}  <span style="float:right">{{userRole.description}}</span>

              </ng-template>
              </p-listbox>

它正在这样做:

export class UserRole {
    public id: number;
    public name: string;
    public code: string
    public description: string;
    public branchId: number;
    public branchName: string;
}

您应该在对象中使用 value 属性。 组件中暂时没有 optionValue 属性。

示例代码:

import { Component, OnInit } from '@angular/core';
export class UserRole {
      value: number;
      rolename: string;
  }
@Component({
  selector: 'my-app',
  templateUrl: 'app/app.template.html'
})
export class AppComponent implements OnInit {
  userRoleItems: UserRole[] = [{value: 2, description: 'test'},
  {value: 3, description: 'test'},
  ]; 

  selectedUserRoles:any[] = [];


   ngOnInit() {

   }
}

http://plnkr.co/edit/yRVlQgDKz9tSQgiY65lH?p=preview