私が現在使用しているソリューションは次のとおりです。
基本的に、空のオブジェクトをアイテムのリストにプッシュしますが、オブジェクトのマップにはプッシュしません。これにより、配列内に少なくとも 1 つの項目があるとソーターが認識します。そのため、ハイライターでマップからオブジェクトを取得しようとすると、オブジェクトは未定義になります。
// 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% 確信が持てませんが、仕事は完了します。