【问题标题】:How to get a Vaadin Image from its DOM id如何从其 DOM id 获取 Vaadin 图像
【发布时间】:2015-09-23 21:20:28
【问题描述】:

我正在尝试在 vaadin TextField 组件中运行搜索时设置加载图像。

我扩展了一个 TextField 组件以实现客户端。现在,当一个键按下时,加载图像会在 DOM 中创建并显示在 TextField 之后。但是现在在我的搜索结束时(在服务器端),我想从 DOM 中删除加载图像,但我不知道如何从 DOM 中获取此图像,其 ID 在 Vaadin...

在客户端,创建图像的代码是:

com.google.gwt.dom.client.Element loadingImageElement = DOM.createImg();
loadingImageElement.setAttribute("src", "VAADIN/themes/mytheme/img/ajax-loader.gif");
loadingImageElement.setId("loadingImageId");

在服务器端,我想从其 DOM ID 中获取图像,但这不起作用:

Element loadingImage = DOM.getElementById("loadingImageId");
if (loadingImage != null) {
    loadingImage.removeFromParent();
}

如果我使用 com.google.gwt.dom.client.Element 它会抛出:

java.lang.NoClassDefFoundError: com/google/gwt/dom/client/Element

如果我使用 com.google.gwt.user.client.Element(已弃用),它会抛出:

java.lang.NoClassDefFoundError: com/google/gwt/user/client/DOM

如果有任何帮助,我将不胜感激!

谢谢,

【问题讨论】:

  • 你能显示一些代码吗?
  • 当你将加载图像添加到 dom 时,只需获取该 ID(或设置一个)
  • 我已经这样做了。为了更准确,我在上面放了一些代码。
  • 在您的扩展 VTextField 中,您能否将 Element 存储为一个字段并具有一个 removeLoadingImage() 方法,该方法将从父级中删除 loadingImage?

标签: image dom vaadin


【解决方案1】:

最后我解决了:

JavaScript.getCurrent().execute("$(\"#loadingImageId\").remove()");

【讨论】:

    猜你喜欢
    • 2015-12-08
    • 1970-01-01
    • 1970-01-01
    • 2014-12-06
    • 2022-12-05
    • 1970-01-01
    • 1970-01-01
    • 2012-03-28
    • 2020-07-08
    相关资源
    最近更新 更多