当multiselect中的数据被更改(选中)时,我想做一些事情,但是当我尝试通过单击按钮将选中的项目加载到multiselect时,“ onChange”事件不起作用。我不明白为什么。请在stackblitz
上进行检查答案 0 :(得分:0)
如果您试图完全加载新的可能选项,而不仅仅是单击按钮来自动选择选项,那么您就必须使用新的options
更新初始SelectItem
数组,例如:https://stackblitz.com/edit/angular-multiselect-primeng-apqng7?file=src/app/hello.component.ts
load() {
this.options = [
{ label: 'Geometry', value: 'Geometry' },
{ label: 'Physics', value: 'Physics' },
{ label: 'Chemistry', value: 'Chemistry' },
];
}
否则,如果您在单击“加载”时尝试 select 选项,则需要将loadOptions
数组设置为包含现有值(而不是新值),如下所示:
load() {
this.loadOptions = ['Aerospace'];
}
如果您要尝试更新所有可能的选项,并同时 并选择其中一个或多个,则也可以将它们组合在一起。
此外,onChange
方法正在工作。我认为您可能期望它在错误的时间触发。 onChange
在选择值更改时触发,而不是在 options 更改时触发。如果选择/取消选择组件中的值,则可以看到控制台日志正在按预期方式打印。