在 primeng 版本 7.0.5 中加载数据时,多选 onChange 事件不起作用
Multiselect onChange event not working when load data in primeng version 7.0.5
我想在多选内的数据发生更改(选中)时做一些事情,但是当我尝试通过单击按钮将所选项目加载到多选时,'onChange' 事件不起作用。我不明白为什么。请在 stackblitz
上查看
如果您尝试完全加载新的可能选项,而不仅仅是通过单击按钮自动 select 选项,那么您必须使用新的更新初始 options
数组SelectItem
s,像这样: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'];
}
如果您尝试更新所有可能的选项 和 select 其中的一个或多个,您也可以将它们结合起来。
此外,onChange
方法有效。我想你可能期望它在错误的时间触发。 onChange
在 selection 值更改时触发,而不是在 options 更改时触发。如果您 select/deselect 组件中的值,您可以看到您的控制台日志正在按预期打印。
我想在多选内的数据发生更改(选中)时做一些事情,但是当我尝试通过单击按钮将所选项目加载到多选时,'onChange' 事件不起作用。我不明白为什么。请在 stackblitz
上查看如果您尝试完全加载新的可能选项,而不仅仅是通过单击按钮自动 select 选项,那么您必须使用新的更新初始 options
数组SelectItem
s,像这样: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'];
}
如果您尝试更新所有可能的选项 和 select 其中的一个或多个,您也可以将它们结合起来。
此外,onChange
方法有效。我想你可能期望它在错误的时间触发。 onChange
在 selection 值更改时触发,而不是在 options 更改时触发。如果您 select/deselect 组件中的值,您可以看到您的控制台日志正在按预期打印。