2017-11-24 2 views
0

Ich benutze eckig 4 ​​und prim ng 4.3.0 um ein Objekt anzuzeigen; wenn ich jedoch ein Element auswähle, wählen die ganzen Listen statt nur eine Zeile gleichzeitig aus. Ist etwas falsch mit der Definition des Elements?PrimeNG Listbox Auswahl aller statt einer zur Zeit

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

Es ist dies zu tun: enter image description here

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

können Sie Ihre * .component.ts Code enthalten? –

Antwort

0

Sie sollten eine value Eigenschaft in Ihrem Objekt verwenden. Momentan gibt es in der Komponente kein Attribut optionValue.

Beispielcode:

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

Verwandte Themen