2017-03-08 17 views
0

我有一個應用程序,允許用戶搜索藝術品和建立自己的投資組合。我想展示一個algolia搜索中返回的作品是否包含在用戶組合中,但是我似乎無法找到一種方法在向用戶顯示結果時進行回調。Algolia Instantsearch - 顯示結果後添加回調?

是否可以添加回調到搜索結果?

+0

您需要提供更多的細節,你在什麼平臺上使用的是什麼語言?你能展示一個代碼示例嗎? – Morgoth

+0

是的,我很抱歉。有史以來第一次發佈在SO上。長期以來一直是讀者。我會記錄下一次,並做得更好。 – taylor01

回答

0

我想你使用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/

+1

這很完美。 transformData參數正是我所需要的。它允許我更新結果,以便在視圖中處理它。 – taylor01