我有一個應用程序,允許用戶搜索藝術品和建立自己的投資組合。我想展示一個algolia搜索中返回的作品是否包含在用戶組合中,但是我似乎無法找到一種方法在向用戶顯示結果時進行回調。Algolia Instantsearch - 顯示結果後添加回調?
是否可以添加回調到搜索結果?
我有一個應用程序,允許用戶搜索藝術品和建立自己的投資組合。我想展示一個algolia搜索中返回的作品是否包含在用戶組合中,但是我似乎無法找到一種方法在向用戶顯示結果時進行回調。Algolia Instantsearch - 顯示結果後添加回調?
是否可以添加回調到搜索結果?
我想你使用instantsearch.js library來顯示結果。
然後有兩種方法可以實現你想要的功能。
1)使用transformData
參數的hits
widget
參數接受回調和穿過結果那裏。因此,您可以在結果顯示之前修改結果 - 您可以根據記錄是否應突出顯示記錄來添加新參數。
例子:
search.addWidget(
instantsearch.widgets.hits({
container: '#hits-container',
templates: {
item: itemTemplate
},
transformData: {
allItems: function (results) {
console.log(results);
// Modify results
return results;
}
}
})
);
2)使用custom widget掛鉤渲染回調
你可以寫,你只指定了render
選擇一個簡單的自定義窗口小部件:
search.addWidget({
render: function(data) {
console.log(data);
}
});
在data
參數中,您將獲得有關搜索的所有信息,包括幫助呃,最後的狀態和最新的結果。
兩種方法,你可以在小的jsfiddle看直播:https://jsfiddle.net/JanPetr/g54hzrzp/
這很完美。 transformData參數正是我所需要的。它允許我更新結果,以便在視圖中處理它。 – taylor01
您需要提供更多的細節,你在什麼平臺上使用的是什麼語言?你能展示一個代碼示例嗎? – Morgoth
是的,我很抱歉。有史以來第一次發佈在SO上。長期以來一直是讀者。我會記錄下一次,並做得更好。 – taylor01