Algolia Instantsearch - 显示结果后添加回调?

时间:2017-03-08 13:37:15

标签: algolia

我有一个应用程序,允许用户搜索图稿并构建自己的投资组合。我想表明在algolia搜索中返回的一件艺术品是否包含在用户组合中,但是一旦结果显示给用户,我似乎无法找到回调的方法

可以在搜索结果中添加回调吗?

1 个答案:

答案 0 :(得分:3)

我想您使用instantsearch.js library来显示结果。

然后有两种方法可以达到你想要的效果。

1)使用hits widget

string file = @"C:\Users\MyPC\Pictures\Example\50.jpg"; string webAddress = @"http://mywebsite.com/api/images/products/1?ws_key=NUZSHHQ1X456IJQDPXY3GUXG2C6AMAV3"; var client = new HttpClient(); var pairs = new List<KeyValuePair<string, string>> { new KeyValuePair<string, string>("image", file) }; var content = new FormUrlEncodedContent(pairs); MessageBox.Show( client.PostAsync(webAddress, content).Result.ReasonPhrase ); 参数

该参数需要回调并在那里传递结果。因此,您可以在显示结果之前修改结果 - 您可以根据记录是否应突出显示来添加新参数。

示例:

transformData

2)使用custom widget挂钩渲染回调

您可以编写一个简单的自定义窗口小部件,只指定search.addWidget( instantsearch.widgets.hits({ container: '#hits-container', templates: { item: itemTemplate }, transformData: { allItems: function (results) { console.log(results); // Modify results return results; } } }) ); 选项:

render

search.addWidget({ render: function(data) { console.log(data); } }); 参数中,您将获得有关搜索的所有信息,包括帮助,最后状态和最新结果。

你可以看到两种方法都存在于小jsFiddle中:https://jsfiddle.net/JanPetr/g54hzrzp/