目前,我在 Typeahead 中看到,当查询没有结果时,它不会显示任何下拉列表,也不会显示任何类型的消息,让用户知道查询没有返回结果。
当查询没有返回任何内容时,有没有办法在下拉列表中只显示一个结果,例如“没有结果”?
到目前为止我能想到的最好的解决方案是在结果列表中添加一个“无结果”对象,然后使用匹配器来处理这种情况。但不知何故,我觉得这很糟糕。
还有其他建议吗?
目前,我在 Typeahead 中看到,当查询没有结果时,它不会显示任何下拉列表,也不会显示任何类型的消息,让用户知道查询没有返回结果。
当查询没有返回任何内容时,有没有办法在下拉列表中只显示一个结果,例如“没有结果”?
到目前为止我能想到的最好的解决方案是在结果列表中添加一个“无结果”对象,然后使用匹配器来处理这种情况。但不知何故,我觉得这很糟糕。
还有其他建议吗?
我目前使用的解决方案如下。
基本上我将一个空对象推送到项目列表中,但没有推送到对象映射中。这将使排序器相信数组中至少有一项。因此,当您尝试从地图中获取对象时,在荧光笔中,该对象将是未定义的。
// sort our results
sorter: function(items) {
if (items.length == 0) {
items.push(new Object());
}
return items;
},
highlighter: function(item) {
comp = map[item];
if (typeof comp == 'undefined') {
return "<span>No Match Found.</span>";
}
请注意,我正在使用对象的数组列表,而不是默认的字符串数组。
很好的教程在这里: http ://tatiyants.com/how-to-use-json-objects-with-twitter-bootstrap-typeahead/
不是 100% 确定这是否是好的做法,但它可以完成工作。