我正在尝试使用bootsfaces进行自动完成输入,但我无法创建此组件。如何创建此组件并从我的Bean的一个方法获取列表?我尝试使用typeahead-values
属性,但我无法获得值。
<b:inputText
placeholder=""
id="autocomplete"
typeahead="true"
typeahead-values="#{Expedients.getExpedients2()}"
/>
- 已编辑 -
我设法显示自动完成(与jquery冲突) 我现在看到的问题是包含数组括号的列表元素。 bean代码是:
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>
元素的结果是:&#39; [test1&#39;和&#39; test2]&#39;
如何解决这个问题?
答案 0 :(得分:0)
显然,我们BootsFaces团队应该为此做点什么。我花了很长时间才发现错误。实际上,它非常简单:当我实现自动完成功能时,我假设你的bean返回一个简单的逗号分隔字符串。
public List<String> getExpedients2() {
init();
String n = "";
n += "test1";
n += ",";
n += "test2";
return n;
}
这种简单的方法效果很好,但我同意你的意见,我们也应该支持列表和数组。我在我们的BootsFaces bug追踪器上打开了issue 532。
<强>更新强>: 事实证明,我设法在几分钟内解决了这个问题。新功能将成为BootsFaces 1.0的一部分,我们计划在下个月(2016年11月)发布。您可以按照https://github.com/TheCoder4eu/BootsFaces-OSP/issues/369上的说明进行测试。