Tengo un cuadro combinado con un controlador de eventos on-change
. El controlador de eventos solo se llama cuando borro la selección, sin cambiar la selección. Ocurre en la versión 4.2.6 cuando se usa en Polymer 2.
<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();
}
Esto se puede reproducir en https://cdn.vaadin.com/vaadin-combo-box/4.2.6/demo/#combo -box-basic-demos configurando un detector de cambios en cualquiera de los cuadros combinados. Por ejemplo, seleccione uno en el inspector y ejecute $0.addEventListener('change', console.log);
luego intente cambiar el valor.
En realidad, esto solo parece ser un problema en el caso de que seleccione un elemento haciendo clic en los elementos del menú desplegable. El evento de cambio aún se activa normalmente si selecciona un elemento mediante la navegación del teclado o escribiendo una coincidencia exacta y luego desenfocando o presionando Enter.
Puedo confirmar que esto es una regresión en v4.2.6.
Si intenta lo mismo en https://cdn.vaadin.com/vaadin-combo-box/4.2.5/demo/#combo -box-basic-demos, el evento se activa normalmente también cuando selecciona el elemento haciendo clic en en eso.
Esta regresión fue introducida por # 785. Funciona bien en la confirmación anterior antes de eso.
Esta solución está ahora en master
y será parte del próximo lanzamiento de parche (presumiblemente v4.2.7) que probablemente se lanzará hoy.
La solución ahora está en v4.2.7 .
Comentario más útil
Esta solución está ahora en
master
y será parte del próximo lanzamiento de parche (presumiblemente v4.2.7) que probablemente se lanzará hoy.