如何可靠地确定Component
中是否确实存在给定的DOM
?
直到现在,我仍使用Component.getUI().isPresent()来确定Component
是否附加到UI
上。
也可能是因为遇到问题的Components
封装在ComponentRenderer
中,而该情况由Grid
管理。
我需要像这样通过JavaScript访问这些Componets
:
void setValue(Component comp, Value value){
Runnable callJs = comp.getUI().ifPresent(ui -> ui.getPage().executeJs("someCall($0)", value));
if(comp.isAttached()){
// execute it right away
callJs.run();
} else {
// execute onAttach
comp.addAttachListener(evt -> callJs.run());
}
}