Estoy tratando de desactivar uno o más elementos según los datos. Por ejemplo, tengo una lista de ciudades con campo deshabilitado/activo, por ejemplo, y presioné los nombres de las ciudades en una matriz SelectItem[] .
NewYork, active Rome, disable London, active Istanbul, disable Paris, active this.cities.push({label:'New York', value:'New York'}); this.cities.push({label:'Rome', value:'Rome'}); // want to disable this.cities.push({label:'London', value:'London'}); this.cities.push({label:'Istanbul', value:'Istanbul'}); // want to disable this.cities.push({label:'Paris', value:'Paris'});Traté de representar el cuadro de lista usando el ejemplo primeng
<p-listbox [options]="cities" [(ngModel)]="selectedCity" filter="filter"> <ng-template let-city pTemplate="item" > <div class="ui-helper-clearfix"> <span >{{city.value}}</span> </div> </ng-template> </p-listbox> En primeng, el cuadro de lista tiene un atributo llamado disabled . Si lo configuro, deshabilitó todo el cuadro de lista. Pero quiero deshabilitar solo los elementos específicos. Aquí está el Plunker implementado https://plnkr.co/edit/7MHSzdmvIWNpdHsEy4F9?p=preview
Siempre puedes crear un mutador para la ciudad selectedCity ...
private _selectedCity: string; private set selectedCity(city:string) { if(isactive){... do stuff ...} }Sin embargo, obviamente, esto podría no ser bueno para la experiencia del usuario, ya que aún se podría hacer clic en el elemento.