Vaadin TemplateRenderer不渲染bean
我试图使用Vaadin TemplateRenderer不渲染bean,vaadin,vaadin-grid,vaadin-flow,vaadin10,Vaadin,Vaadin Grid,Vaadin Flow,Vaadin10,我试图使用templaterender将模型传播到前端 userGrid.addColumn(TemplateRenderer.<UserProjection>of( "<user-card" + " userDetail='[[item.userDetail]]'" + " licenses='[[item.licenses]]' " + " test='[[ite
templaterender
将模型传播到前端
userGrid.addColumn(TemplateRenderer.<UserProjection>of(
"<user-card"
+ " userDetail='[[item.userDetail]]'"
+ " licenses='[[item.licenses]]' "
+ " test='[[item.test]]'"
+ " id='[[item.id]]'"
+ ">"
+ "</user-card>")
.withProperty("userDetail", user -> user)
.withProperty("licenses",
user -> userService.findAllUserLicenses(user.getId()).stream().map(License::new).collect(Collectors.toList()))
.withProperty("test", UserProjection::getEmail)
.withProperty("id", UserProjection::getId)
);
userGrid.addColumn(templaterender.of(
""
+ "")
.withProperty(“用户详细信息”,用户->用户)
.withProperty(“许可证”),
user->userService.findAllUserLicenses(user.getId()).stream().map(License::new).collect(Collectors.toList())
.withProperty(“测试”,用户投影::getEmail)
.withProperty(“id”,UserProjection::getId)
);
这是我的模板:
<link rel="import" href="../../bower_components/polymer/polymer-element.html">
<link rel="import" href="../../styles/shared-styles.html">
<dom-module id="user-card">
<template>
<div class="content" on-click="_onClick">
<div>[[test]] [[id]] [[userDetail.id]] </div>
<div class="user-details">
<h1>[[userDetail.firstName]] [[userDetail.lastName]]</h1>
<h3>[[userDetail.email]]</h3>
</div>
<dom-repeat items="[[licenses]]">
<div class="license">
{{item.validTo}}
</div>
</dom-repeat>
</div>
</template>
<script>
class UserCard extends Polymer.Element {
static get is() {
return "user-card";
}
_onClick() {
this.dispatchEvent(new CustomEvent('card-click'));
}
}
window.customElements.define(UserCard.is, UserCard);
</script>
</dom-module>
[[test]][[id][[userDetail.id]]
[[userDetail.firstName][[userDetail.lastName]]
[[userDetail.email]]
{{item.validTo}}
类UserCard扩展了Polymer.Element{
静态get是(){
返回“用户卡”;
}
_onClick(){
此.dispatchEvent(新建CustomEvent('card-click'));
}
}
window.customElements.define(UserCard.is,UserCard);
而
用户卡
模板也包含在我使用网格的模板中。我可以成功地显示属性test
和id
,但是我无法使用userDetail
和许可证。谁能告诉我我做错了什么?我正在使用vaadin13.0.5
您能否尝试将
添加到许可证的dom repeat
?至少,我找到的所有例子都有。不确定第一个问题,通过(为了测试目的,您可以尝试将userDetail
重命名为其他名称吗?它是这样工作的吗?),我使用template
作为dom repeat
的模板,还将userDetail
重命名为superDetail
,并在参数和模板中对其进行了更改,但什么都不起作用。但感谢您的检查我刚刚解决了…这是关于模板中奇怪的命名。我将html属性重命名为user detail='[[item.userDetail]]],而不是userDetail='[[item.userDetail]]'
,现在它可以工作了。我忽略了这一点,或者可能只是在vaadin文档中的某个地方提到了这一点。