首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Vaadin 10 Grid添加自定义图像图标

Vaadin 10 Grid添加自定义图像图标
EN

Stack Overflow用户
提问于 2018-04-12 21:29:12
回答 1查看 1K关注 0票数 2

我正在使用Vaadin10 (Flow) Grid将数据流到新行,并试图向TemplateRenderer添加一个自定义图像图标。

我有这样一个TemplateRenderer设置:

代码语言:javascript
复制
TemplateRenderer<TradeUni> sizee = TemplateRenderer.<TradeUni>
            of("<div class$=\"[[item.class]]\">[[item.size]]</div>")
            .withProperty("class", cssClassProvider)
            .withProperty("size", TradeUni::getSize);

它在网格单元格中正确地显示我的数字如下:

我希望把我的图像呈现在同一个单元格中,在数字的左边。

这是我使用html导入它的尝试(非常粗糙):

代码语言:javascript
复制
TemplateRenderer<TradeUni> sizee = TemplateRenderer.<TradeUni>
            of("<div class$=\"[[item.class]]\"><img src=\"i.imgur.com/3LQBglR.png\">[[item.size]]</div>")
            .withProperty("class", cssClassProvider)
            .withProperty("size", TradeUni::getSize);

这给了我这个

我认为我可能需要将图像和数字包装到一个HorizontalLayout中,图像是一个单独的组件--我想我可以处理这个问题,但我不知道如何实际绘制图像。我可能可以简单地用内部Vaadin图标集来完成它,但是我需要使用我自己的小图像。所有的图标,我将使用将在或少于25x25px。

提前谢谢你!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-04-13 06:38:43

我认为你是在正确的轨道上,但有一个小细节会给你带来麻烦。URL i.imgur.com/3LQBglR.png不定义协议,这意味着整个字符串将被视为相对于宿主页面位置的路径。因此,它将尝试在您自己服务器上名为i.imgur.com的目录中找到一个文件。

要解决这个问题,还需要将协议包含在图像URL中,即https://i.imgur.com/3LQBglR.png

我还可以为如何使代码更容易阅读提供一个小建议。HTML还支持使用'封装属性值。这在Java中使用更方便,因为您不需要使用\来转义'字符。因此,模板字符串可以是"<div class$='[[item.class]]'><img src='https://i.imgur.com/3LQBglR.png'>[[item.size]]</div>"

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49806167

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档