angular - PrimeNG MultiSelect:如何选择整个组
问题描述
我正在使用 primeNG 分组多选,我想知道是否可以通过单击组本身来选择组的所有项目?
到目前为止,这是我的代码:
<p-multiSelect [options]="items" [group]="true" [(ngModel)]="selectedItems" optionLabel="name" optionValue="id" optionGroupLabel="label" optionGroupChildren="subItems" (onChange)="changed()"></p-multiSelect>
它给了我这个:
但是,我想在“德国”之前有一个复选框,我可以通过单击它来选择“德国”的所有城市。有任何想法吗?
解决方案
假设您使用与docs相同的实现。
<p-multiSelect [options]="groupedCities" [group]="true" [(ngModel)]="selectedCities" defaultLabel="Select a City" scrollHeight="250px" display="chip">
<ng-template let-group pTemplate="group">
<div class="p-d-flex p-ai-center">
<img src="assets/showcase/images/demo/flag/flag_placeholder.png" [class]="'p-mr-2 flag flag-' + group.value" style="width: 20px"/>
<span>{{group.label}}</span>
</div>
</ng-template>
您应该能够在包含跨度的 div 上放置一个click 方法
<div class="p-d-flex p-ai-center" (click)="selectedCities = group.items">
那应该可以,否则您可能需要将其包装在一个函数中
<div class="p-d-flex p-ai-center" (click)="setSelection(group.items)">
ts:
setSelection(items) => {this.selectedCities = items}
推荐阅读
- c++ - 如何将 C++ 类构造函数的值作为此类方法的默认参数传递?
- asp.net-core - EnterpriseLibrary.Data.NetCore - 使用 GenericDatabase 的连接不支持参数发现
- excel - 无法计算每个单元格中出现的某些标志
- python - 如何从数据库的属性中派生特定元素并将它们连接到主键?
- php - PHP Socket Client 只发送和接收一条消息
- c# - 通过列表的通用迭代
- rxjs - 完成后我应该退订吗?
- python-3.x - 在 azure 函数 v2 中使用 shapely lib - python
- r - 如何使用 tmap 为栅格指定单一颜色?
- java - 当前线程的范围“会话”不活动 - 多线程