我有一个带有on-change
事件处理程序的组合框。 事件处理程序仅在我清除选择时才被调用,而不是更改选择。 在 Polymer 2 中使用时,它发生在 4.2.6 版本中。
<vaadin-combo-box
theme="small"
hidden="[[_hideEnvironmentSwitch]]"
label="Change Environment"
on-change="_changeEnvironment"
items="[[_environments]]"
value="{{_selectedEnvironment}}">
</vaadin-combo-box>
_changeEnvironment() {
debugger
if (this._selectedEnvironment) {
// some logic
}
this._toggleEnvironmentSelector();
}
这可以通过在任何组合框上设置更改侦听器在https://cdn.vaadin.com/vaadin-combo-box/4.2.6/demo/#combo -box-basic-demos 中重现。 例如,在检查器中选择一个并运行$0.addEventListener('change', console.log);
然后尝试更改该值。
实际上,当您通过单击下拉列表中的项目来选择项目时,这似乎只是一个问题。 如果您通过键盘导航或通过键入精确匹配项然后不聚焦或按 Enter 来选择项目,则更改事件仍会正常触发。
可以确认这是 v4.2.6 中的回归。
如果您在https://cdn.vaadin.com/vaadin-combo-box/4.2.5/demo/#combo -box-basic-demos 中尝试相同的操作,则当您通过单击选择项目时,该事件也会正常触发在上面。
这个回归是由#785 引入的。 它在此之前的上一次提交上运行良好。
此修复程序现在位于master
,并将成为下一个补丁版本(可能是 v4.2.7)的一部分,该版本可能将于今天发布。
修复程序现在在v4.2.7 中。
最有用的评论
此修复程序现在位于
master
,并将成为下一个补丁版本(可能是 v4.2.7)的一部分,该版本可能将于今天发布。