在Primeng版本7.0.5中加载数据时,多选onChange事件不起作用

时间:2019-03-08 16:58:13

标签: angular primeng

当multiselect中的数据被更改(选中)时,我想做一些事情,但是当我尝试通过单击按钮将选中的项目加载到multiselect时,“ onChange”事件不起作用。我不明白为什么。请在stackblitz

上进行检查

1 个答案:

答案 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 更改时触发。如果选择/取消选择组件中的值,则可以看到控制台日志正在按预期方式打印。