Java Vaadin GridPro:“;TypeError:无法读取属性';localName';“未定义”的定义;
我最近搬到了Vaadin 14,现在正尝试使用Java Vaadin GridPro:“;TypeError:无法读取属性';localName';“未定义”的定义;,java,vaadin,vaadin-grid,vaadin-flow,vaadin14,Java,Vaadin,Vaadin Grid,Vaadin Flow,Vaadin14,我最近搬到了Vaadin 14,现在正尝试使用com.Vaadin.flow.component.gridpro。 如果现在使用com.vaadin.flow.data.renderer.ComponentRenderer渲染行详细信息,单击生成的详细信息时会收到以下错误消息(通知): TypeError:无法读取未定义的属性“localName” 虽然没有任何Java异常,但Chromium记录了以下内容: client-FD21A18FF7B71…CC75CC.cache.js:198 Ty
com.Vaadin.flow.component.gridpro
。
如果现在使用com.vaadin.flow.data.renderer.ComponentRenderer
渲染行详细信息,单击生成的详细信息时会收到以下错误消息(通知):
TypeError:无法读取未定义的属性“localName”
虽然没有任何Java异常,但Chromium记录了以下内容:
client-FD21A18FF7B71…CC75CC.cache.js:198 TypeError: Cannot read property 'localName' of undefined
vaadin-grid-pro-inli…g-mixin.js?84ef:176 Uncaught TypeError: Cannot read property 'localName' of undefined
at HTMLElement._isEditColumn (vaadin-grid-pro-inli…g-mixin.js?84ef:176)
at HTMLElement.eval (vaadin-grid-pro-inli…g-mixin.js?84ef:148)
我知道,在使用com.vaadin.flow.component.grid.grid
而不是com.vaadin.flow.component.gridpro.gridpro
时不会发生这种情况,但我的问题是,在使用gridpro
时如何消除这种错误
重新创建我的问题:
从原型创建新的Vaadin 14项目:
mvn -B archetype:generate -DarchetypeGroupId=com.vaadin -DarchetypeArtifactId=vaadin-archetype-application -DarchetypeVersion=LATEST -DgroupId=org.test -DartifactId=vaadin-app -Dversion=1.0-SNAPSHOT
将MainView.java
更改为:
// import com.vaadin.flow.component.grid.Grid;
import com.vaadin.flow.component.gridpro.GridPro;
import com.vaadin.flow.component.html.Label;
import com.vaadin.flow.component.orderedlayout.VerticalLayout;
import com.vaadin.flow.data.renderer.ComponentRenderer;
import com.vaadin.flow.router.Route;
import com.vaadin.flow.server.PWA;
@Route
@PWA(name = "My Application", shortName = "My Application")
public class MainView extends VerticalLayout {
public MainView() {
GridPro<Foo> grid = new GridPro<>();
// Grid<Foo> grid = new Grid<>();
grid.addColumn(Foo::getBar).setHeader("Bar");
grid.setItemDetailsRenderer(
new ComponentRenderer<>(s -> {
VerticalLayout layout = new VerticalLayout();
layout.setSizeFull();
Label label = new Label(s.getBar());
layout.add(label);
return layout;
}));
add(grid);
grid.setItems(new Foo("Click me"));
}
private static class Foo {
private String bar;
private Foo(String bar) {
this.bar = bar;
}
public String getBar() {
return bar;
}
}
}
//导入com.vaadin.flow.component.grid.grid;
导入com.vaadin.flow.component.gridpro.gridpro;
导入com.vaadin.flow.component.html.Label;
导入com.vaadin.flow.component.orderedlayout.VerticalLayout;
导入com.vaadin.flow.data.renderer.ComponentRenderer;
导入com.vaadin.flow.router.Route;
导入com.vaadin.flow.server.PWA;
@路线
@PWA(name=“我的申请”,shortName=“我的申请”)
公共类主视图扩展了垂直布局{
公共主视图(){
GridPro grid=新建GridPro();
//网格=新网格();
grid.addColumn(Foo::getBar).setHeader(“Bar”);
grid.setItemDetailsRenderer(
新组件渲染器(s->{
VerticalLayout布局=新建VerticalLayout();
layout.setSizeFull();
Label Label=新标签(s.getBar());
布局。添加(标签);
返回布局;
}));
添加(网格);
setItems(新建Foo(“单击我”);
}
私有静态类Foo{
私人弦杆;
私人Foo(字符串栏){
这个.bar=bar;
}
公共字符串getBar(){
返回杆;
}
}
}
这似乎是grid pro组件中的一个bug。我建议在@anasmi创建一张罚单,感谢您的回复。我想我会坚持正常的路线