Tìm kiếm trang web

angular - PrimeNG listbox chọn tất cả thay vì từng cái một


Tôi đang sử dụng Angular 4 và PrimeNG 4.3.0 để hiển thị một đối tượng; tuy nhiên khi tôi chọn một mục, toàn bộ danh sách được chọn thay vì chỉ một hàng tại một thời điểm.. có gì sai với cách tôi định nghĩa phần tử không?

 <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>

Nó đang làm điều này:

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

Câu trả lời #1

Bạn nên sử dụng thuộc tính value trong đối tượng của bạn. Hiện tại không có thuộc tính optionValue trong thành phần này.

Mã mẫu:

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