具有重新排序和删除功能的动态表单

Dynamic form with reordering and deletion

我很好奇人们会如何创造出像我这样的东西 在这个截图模型中有:

  1. 目标是一次输入一个 FormRow。每个 FormRow 得到 添加到 FormRowListForm。
  2. 这个 FormRowListForm 可以通过鼠标拖动重新排序。
  3. 可以通过单击 "Remove Row" 删除行 按钮。
  4. 可以通过以下方式将 FormRowListForm 提交到数据库 点击 "Commit Form Rows to Database"

从外观上看,首先我会定义一个 JSONModel,您可以在其中存储不同的行。

然后创建一个VBox,将它的items aggregation绑定到你的model上,每一个item都是一个HBox(这里我简化了,你可能需要根据布局需要调整,但你明白了)

拖放将在每个 HBox 上完成,有效地重新排序其在模型中的位置。

添加或删除行的工作方式相同:只需在模型中添加或删除行,绑定会处理其余部分。

完成后,您可以将模型数据以所需格式存储在数据库中