上の例プロジェクトを作成しました
@Named("fieldGroup.customer")
PickerField customer;
@Override
public void init(Map<String, Object> params) {
super.init(params);
customer.addValueChangeListener(e -> {
if (e.getValue() != null) {
showNotification("e.value: " + e.getValue(), NotificationType.HUMANIZED);
} else {
showNotification("e.value is null", NotificationType.ERROR);
}
});
}
以前のアイテムが新しいアイテムに確実に置き換えられるようにします。これにより、nullのValueChangeListenerと新しい値の2つの呼び出しが行われます。
これはCUBAに関するAPIの既知の問題で、プラットフォームの次のメジャーリリースで変更される可能性がありますが、null e.getValue()とバインドされているエンティティ属性をチェックする必要がありますピッカーフィールド。
値を変更した後、新しい選択したエントリで新しいイベントがトリガされた可能性があります。 (ちょっと速い推測) –