问题描述
我使用的是 Oberon 表单 2019.2 CE。 假设我有部分:
<s_address>
<s_address-iteration>
<grid-address>
<c_country label=""/>
</grid-address>
</s_address-iteration>
</s_address>
当我运行表单并添加此部分的新重复时,会从此模板创建新重复:
<xf:instance xxf:readonly="true" xxf:exclude-result-prefixes="#all"
id="s_address-template">
<s_address-iteration>
<grid-address>
<c_country/>
</grid-address>
</s_address-iteration>
</xf:instance>
现在,我还想将标签添加到模板中的 c_country 字段。但是,当我执行此操作并应用更改时,Form Builder 会从模板中删除此标签。
是否可以阻止 Form Builder 这样做?
我可以为带有标签的 s_address 部分创建自定义模板,但此解决方案将难以维护。
解决方法
这个问题可能与此有关:
我需要在模板中向字段添加空标签,因为我在表单中有功能,当用户按下按钮时,表单从外部服务获取数据并将该数据提供给字段(当它是动态下拉菜单时,我设置了值和标签)。如果我没有在字段中添加空标签,当用户添加新的部分重复时,标签将无法正确显示。
现在,我通过这种方式解决了这个问题:我基于由 Form Builder 自动创建的模板创建了我的自定义模板,并使用它而不是默认模板。这个解决方案有效,但正如我之前写的,它很难维护。
,模板由 Form Builder 重新创建,这解释了您的更改消失的原因。如果您需要在 label
上添加额外的 <country>
属性,手动将其添加到模板中是不可行的。
现在我不知道什么是“正确的方法”,仅根据上面提供的信息。这将取决于 label
属性的用途,何时需要它。 (请随时在下面添加评论,并描述您的用例,我会尽力跟进。)