下面是我的代码示例。 primeng 多重选择是 primeng 下拉列表的来源:
HTML:
<p-multiSelect [options]="elements" [(ngModel)]="selectedElements" optionLabel="name" display="chip"
(onChange)="onElementChange($event)"></p-multiSelect
<p-dropdown [options]="availableElements" [(ngModel)]="selectedElement" optionLabel="elementID"
placeholder="Select an Element"></p-dropdown>
ts:
onElementChange(event) {
this.availableElements = [];
this.availableElements = event.value;
}
从多选下拉列表中选择元素完全有效,但是当我从多选芯片中删除元素时,不会触发 onChange 事件:
如何触发onChange?这是一个不受支持的事件吗? 预先感谢。
这被认为是组件的一个错误,因为当你删除它时,内部状态已经更新...所以暂时你需要通过使用 onClick 事件和模板变量来获取组件值来更新状态。
<p-multiSelect [options]="cities"
[(ngModel)]="selectedCities2"
defaultLabel="Select a City" optionLabel="name"
display="chip"
(onClick)="selectedCities2 = elm.value"
#elm>
</p-multiSelect>
{{selectedCities2| json}}
自12.2.2 primeng版本以来已修复错误
您可以调用 p-multiSelect 的 onChange() 事件,例如:
<p-multiSelect [options]="cities"
[(ngModel)]="selectedCities2"
defaultLabel="Select a City" optionLabel="name"
display="chip"
(onChange)="selectedCities2 = elm.value"
#elm>
</p-multiSelect>