在 VAADIN 组件中,用户应该可以选择插入一个到 N 个问题的答案。
最初应该有一个文本字段用于第一个带有按钮的答案(“添加另一个答案”)
在 Button Push 应该为第二个答案添加一个新的文本字段,依此类推......
我的问题是,如何在按钮推送时实现新文本字段的动态加载?
我添加了一张我如何想象这个问题的图片。
只需向按钮添加一个单击侦听器,即可将文本字段添加到布局中。基本 Vaadin,没有技巧。
如果您的代码不起作用,请将其添加到您的问题中。
将 Textfield 置于其自己的垂直布局中,每当单击按钮时,将新的 Textfield 添加到垂直布局中。
当检索答案时,获取对垂直布局的引用并调用 getChildren(),这将返回垂直布局中的所有 TextField。
像这样的东西:
List<String> answers = verticalLaout.getChildren()
.stream()
.map(TextField::getValue)
.collect(asList());