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