我正在尝试根据数据停用一个或多个项目。例如,我有一个城市列表,其中包含禁用/活动字段,我将城市名称推送到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'});
我尝试使用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>
在primeng中,列表框有一个名为disabled
的属性。如果我设置它然后它禁用整个列表框。但我想只禁用特定项目。
这是已实施的Plunker https://plnkr.co/edit/7MHSzdmvIWNpdHsEy4F9?p=preview
答案 0 :(得分:0)
你总是可以为selectedCity
...
private _selectedCity: string;
private set selectedCity(city:string) {
if(isactive){... do stuff ...}
}
然而,显然这可能不适合用户体验,因为该项目仍然可以点击。