Eu tenho uma caixa de combinação com um manipulador de eventos on-change
. O manipulador de eventos só é chamado quando eu limpo a seleção, não alterando a seleção. Acontece na versão 4.2.6 ao usar no 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();
}
Isso pode ser reproduzido em https://cdn.vaadin.com/vaadin-combo-box/4.2.6/demo/#combo -box-basic-demos configurando um ouvinte de alteração em qualquer uma das caixas de combinação. Por exemplo, selecione um no inspetor e execute $0.addEventListener('change', console.log);
e tente alterar o valor.
Na verdade, isso só parece ser um problema no caso de você selecionar um item clicando nos itens da lista suspensa. O evento de mudança ainda é disparado normalmente se você selecionar um item por meio de navegação do teclado ou digitando uma correspondência exata e, em seguida, desfocando ou pressionando Enter.
Pode confirmar que isso é uma regressão na v4.2.6.
Se você tentar o mesmo em https://cdn.vaadin.com/vaadin-combo-box/4.2.5/demo/#combo -box-basic-demos, o evento também será acionado normalmente quando você selecionar o item clicando em nele.
Esta regressão foi introduzida por # 785. Funciona bem no commit anterior.
Esta correção está agora em master
e fará parte do próximo lançamento de patch (presumivelmente v4.2.7), que provavelmente será lançado hoje.
A correção agora está na v4.2.7 .
Comentários muito úteis
Esta correção está agora em
master
e fará parte do próximo lançamento de patch (presumivelmente v4.2.7), que provavelmente será lançado hoje.