on-change
イベントハンドラーを備えたコンボボックスがあります。 イベントハンドラーは、選択を変更せずに、選択をクリアしたときにのみ呼び出されます。 ポリマー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で、任意のコンボボックスに変更リスナーを設定することで再現できます。 たとえば、インスペクターで1つを選択し、 $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)の一部になる予定です。