![](/img/trans.png)
[英]Create layout with nested HorizontalSplitPanel and VerticalSplitPanel in Vaadin
[英]Vaadin change value from nested Layout
我使用 Vaadin 14 並且知道是否可以將嵌套列表中的更改報告給主視圖中的對象。
圖片中顯示了一個粗略的示例。 上面您可以看到總和為大小(此處為 2),如果我按 Delete 它應該更改為 1。這可能嗎?怎么做?
我還沒有任何代碼,這是一個想法,我想暗示一下可能發生的事情,例如觀察者模式或其他東西,但代碼可能看起來像這樣的代碼:
@Rout("")
public class MainView extends VerticalLayout {
private List<CustomDetails> customDetails = new ArrayList<>();
public MainView(){
final var form = new FormLayout();
customDetails.forEach(form::add);
add(H1("Header"), form)
}
}
public class CustomDetails extends Details{
private CustomForm customForm;
private final Service service;
public CustomDetails(){
customForms = new CustomForm(service.getListOfObjects());
this.setContent(customForms)
}
}
public class CustomForm extend FormLayout{
private FormLayout formLayout = new FormLayout();
private List<Object> objects = new LinkedList<>();
public CustomForm(List<Object> list){
this.objects = list;
setUp();
add(new Paragraph("SUM: "+ list.size()), layout);
}
private void setUp(){
objects.forEarch(o->{
....
layout.add(...)
})
}
}
在 Vaadin 中有一個實用程序 class Binder ,用於將數據綁定到 forms。 如果您的用例與此相關,即您所謂的嵌套布局實際上是一個表單,而您引用的對象是您希望綁定到該表單的數據 bean。 我建議先研究一下。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.