Vaadin Flow:如何判断是否已连接组件

时间:2019-07-11 14:41:06

标签: dom vaadin vaadin-flow

如何可靠地确定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());
  }
}

1 个答案:

答案 0 :(得分:0)

经过一番挖掘,我偶然发现了StateNode API:

comp.getElement().getNode().isAttached()