当前位置: 首页 > 知识库问答 >
问题:

VAADIN--动态添加文本字段

蔺沛
2023-03-14

在VAADIN组件中,用户可以选择插入一到N个问题答案。

初始:第一个答案应有一个文本字段,带有按钮(“添加另一个答案”)

按下按钮时,应为第二个答案添加一个新的文本字段,以此类推。。。

我的问题是,如何在按钮按下时实现新文本字段的动态加载?

我添加了一张我如何想象这个问题的图片。

共有2个答案

卜和悌
2023-03-14

将文本字段放在其自己的垂直布局中,每当单击按钮时,将新的文本字段添加到垂直布局中。

当需要检索答案时,获取对垂直布局的引用并调用getUNICEF(),这将返回垂直布局中的所有TextFields。

像这样:

List<String> answers = verticalLaout.getChildren()
                                   .stream()
                                   .map(TextField::getValue)
                                   .collect(asList());
焦同
2023-03-14

只需向按钮添加一个click listener,就可以向布局添加一个文本字段。基本的Vaadin,没有技巧。

如果您的代码不起作用,请将其添加到您的问题中。

 类似资料:
  • 我希望将动态字段存储到文档中,但每个文档可以有不同的字段。 例如: 如果我运行上述程序,mongodb文档如下所示。 但我想要的是字段名称应该是“field1”而不是这样的“df”。 这只是一个示例代码,所以我知道df值是什么,但实际上我不知道df值是什么。那么在存储时动态命名字段的方法是什么? 在Mongoengine中有一个类似的使用key作为值的问题,但是解决方案建议使用DictField(

  • 我有一个基于Vaadin 7的应用程序,现在我想把我的组件添加到CustomLayout中。问题是CustomLayout忽略了模板(静态html)文件的头部分,所以这里描述的资源也被忽略了。静态html文件不是Vaadin应用程序的一部分,它们是动态生成的。如何在没有注释的情况下在客户端加载JS和CSS文件(属于静态html): 而且使用JavaScript.execute()也不是好方法。

  • 问题内容: 我动态地添加到(与和)。部分代码是从那里借来的。 我正在尝试从的组件获取文本,但无法成功。 编辑: 这是一个包含子面板,和。 这是AddButton的代码: 我试图从中获取文本的代码不起作用: } 您的答复将不胜感激。 问题答案: 问题是:您正在遍历以下子项: 并期望有一个: 但是,既然您已经添加了,jPanel1的子项就不会了! 因此,要访问,您必须在一秒钟内遍历的子项! 例:

  • 我有一个表单,它首先加载文本字段,并有一个与之关联的时间选择器。用户还可以单击“更多”按钮,该按钮动态加载下面的额外文本字段。这也有一个与之相关联的时间选择器,但是它不会加载到动态字段上。我正在使用Trent Richardson的jQuery timepicker插件http://trentrichardson.com/examples/timepicker 我还找到了以前的答案(https:/

  • 根据这个老线索: https://vaadin.com/forum/thread/18510843/textfield-browser-autofill 可以告诉浏览器自动填写表单。我可以通过设置“name”和“autocomplete”属性让浏览器填充值,但是浏览器似乎不记得输入到Vaadin表单中的新值。Chrome/Firefox何时会这样做似乎有一些限制(https://developer

  • 问题内容: 我的表格中有3个字段。我有一个提交按钮和一个“添加其他字段”按钮。我知道我可以使用表单类中的方法添加字段。 我是Python和Django的新手,并且陷入了一个初学者的问题;我的问题是: 当我单击“添加其他字段”按钮时,添加其他字段的过程是什么? 是否需要再次呈现表单? 我如何以及何时打电话,甚至必须打电话? 如何将参数传递给? 问题答案: 你的表单必须基于从POST传递给它的一些变量