0

我有一个用例,我需要保存当前的搜索状态,例如查询、选定的方面等,并在不使用历史记录的情况下按需恢复它们。我怎样才能做到这一点?

4

1 回答 1

1

它有点高级,但您可以使用getState()使用algoliasearchHelper

var client = algoliasearch('appid', 'appsearch');
var helper = algoliasearchHelper(client, 'index', {
  facets: ['shipping'],
  disjunctiveFacets: ['category']
});

var mySavedState = helper.getState();

或者是对属性和查询进行了所有改进的状态的一部分:

var mySavedState = helper.getState(['query', 'attribute:category']);

它返回一个对象,因此您可以将JSON.stringify(mySavedState)其保存在某处,然后JSON.parse(mySavedState)将其取回。

然后稍后您可以设置状态:

helper.setState(mySavedState);

有关更多信息,请参阅helper 入门

于 2019-09-16T08:34:45.477 回答