1

我正在尝试使用 bootsfaces 进行自动完成输入,但我无法创建此组件。如何创建此组件并从我的 Bean 的一种方法中获取列表?我尝试了typeahead-values财产,但我无法获得价值。

<b:inputText
    placeholder=""
    id="autocomplete"
    typeahead="true"
    typeahead-values="#{Expedients.getExpedients2()}"
/>

- 已编辑 -

我设法显示自动完成(与 jquery 冲突)我现在看到的问题是包含数组括号的列表元素。豆代码是:

public List<String> getExpedients2() {
    init();
    List<String> n = new ArrayList<String>();
    n.add("test1");
    n.add("test2");
    return n;
}

最后,这在 xhtml 中添加了这段代码。

<script>
<!--
$('.formulario_autocomplete').typeahead({hint:true,highlight:true,minLength:1},
{limit:5,name:'formulario_autocomplete_typeahead',source: 
BsF.substringMatcher(['[test1','test2]'])});
//-->
</script>

元素的结果是:'[test1' 和 'test2]'

如何解决这个问题?

4

1 回答 1

0

显然,这是我们 BootsFaces 团队应该做的事情。我花了很长时间才发现错误。实际上,这是一个非常简单的问题:当我实现自动完成功能时,我假设您的 bean 返回一个简单的逗号分隔字符串。

public List<String> getExpedients2() {
    init();
    String n = "";
    n += "test1";
    n += ",";
    n += "test2";
    return n;
}

这种简单的方法效果很好,但我同意你的观点,我们也应该支持列表和数组。我已经在我们的 BootsFaces 错误跟踪器上打开了问题 532 。

更新:事实证明,我设法在几分钟内修复了这个错误。新功能将成为 BootsFaces 1.0 的一部分,我们计划在下个月(2016 年 11 月)发布。您可以按照https://github.com/TheCoder4eu/BootsFaces-OSP/issues/369上的说明进行更早的测试。

于 2016-10-28T20:54:17.190 回答