如何在 Orbeon Forms 中配置动态自动完成?

How to configure a dynamic autocomplete in Orbeon Forms?

我需要使用基于 ws rest 的动态自动完成来显示我的领域的建议。我用了但是没有用,它没有更新建议列表。示例:

<fr:autocomplete
        id="control-3-control"
        appearance="minimal"
        labelref="@label"
        resource="http://127.0.0.1/api/ws/pays/all"
        bind="control-3-bind">

    <xf:label ref="$form-resources/control-3/label"/>
    <xf:hint ref="$form-resources/control-3/hint"/>

    <xf:alert ref="$fr-resources/detail/labels/alert"/>
    <xf:itemset ref="./_">
        <xf:label ref=".//libelle"/>
        <xf:value ref=".//id"/>
    </xf:itemset>
</fr:autocomplete>

这是屏幕截图:

根据用户输入的值执行 "filtering" 是自动完成调用的服务的责任。但是,如果您不向它提供该字段的当前值,它就无法执行此操作。为此,请在 URL 的某处使用 {$fr-search-value},例如类似于:

http://127.0.0.1/api/ws/pays/all?search={$fr-search-value}

当然,您的服务需要考虑 search 请求参数的值。当用户在字段中键入内容时,自动完成组件将根据需要一次又一次地自动调用该服务。

这使您可以在大型数据集中进行搜索,而无需 return Orbeon Forms 的整组可能值。