在onAfterRender中更改defaultModel

时间:2017-11-29 13:31:26

标签: wicket

Panel内有ImagePanel。 在onAfterRender我想要更改defaultModel的{​​{1}}。

Image

但这没有效果。目的是显示@Override protected void onAfterRender() { super.onAfterRender(); previewImage.setDefaultModel(new Model<String>(newUrl)); } ,并在呈现placeholder时,然后更改其Panel

1 个答案:

答案 0 :(得分:1)

onAfterRender()是在呈现当前Component之后立即执行的回调,即它已将其最终HTML的一部分贡献给浏览器。

使用此占位符要实现的目标并不十分清楚。 如果您想要显示占位符然后懒洋洋地加载真实图像,那么您可以使用wicket-extensions中的AjaxLazyLoadPanel。或者,您可以在浏览器加载图像后使用JavaScript替换占位符(img.addEventListener('load', ...)

onAfterRender()通常用于在此Component呈现的内容/正文之后呈现内容,但不能用于更改它。