使用 b:inputText 实现自动完成
Implement Autocomplete with b:inputText
我正在尝试使用 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>
元素的结果是:'[test1' and 'test2]'
如何解决这个问题?
显然,这是我们 BootsFaces 团队应该做的事情。我花了很长时间才发现错误。实际上,它非常简单:当我实现自动完成功能时,我假设您的 bean returns 是一个简单的逗号分隔字符串。
public List<String> getExpedients2() {
init();
String n = "";
n += "test1";
n += ",";
n += "test2";
return n;
}
这种简单的方法效果很好,但我同意你的看法,我们也应该支持列表和数组。我已经在我们的 BootsFaces 错误跟踪器上打开 issue 532。
更新:
事实证明,我设法在几分钟内修复了这个错误。新功能将成为 BootsFaces 1.0 的一部分,我们计划在下个月(2016 年 11 月)发布。您可以按照 https://github.com/TheCoder4eu/BootsFaces-OSP/issues/369.
中的说明更早地对其进行测试
我正在尝试使用 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>
元素的结果是:'[test1' and 'test2]'
如何解决这个问题?
显然,这是我们 BootsFaces 团队应该做的事情。我花了很长时间才发现错误。实际上,它非常简单:当我实现自动完成功能时,我假设您的 bean returns 是一个简单的逗号分隔字符串。
public List<String> getExpedients2() {
init();
String n = "";
n += "test1";
n += ",";
n += "test2";
return n;
}
这种简单的方法效果很好,但我同意你的看法,我们也应该支持列表和数组。我已经在我们的 BootsFaces 错误跟踪器上打开 issue 532。
更新: 事实证明,我设法在几分钟内修复了这个错误。新功能将成为 BootsFaces 1.0 的一部分,我们计划在下个月(2016 年 11 月)发布。您可以按照 https://github.com/TheCoder4eu/BootsFaces-OSP/issues/369.
中的说明更早地对其进行测试