我正在尝试实现一个 VisualSearch.js 查询框,可用于搜索特定对象的属性。VisualSearch.js 提供了可以有类别的 Facets,但有人知道我可以为模型名称加载一个 facet 的方法。例如“用户”)然后一旦点击/选择加载第二个子 facet 之前的属性列表让用户有机会最终点击将通过 JSON 调用加载的值。我已经搜索并找不到任何对此类功能的引用,但我可能只是使用了不正确的术语“Sub Facet”。
这是我一直在玩的 JSFiddle。 http://jsfiddle.net/Savvy84/HRuAP/13/
var visualSearch = VS.init({
container: $('#visual_search'),
query: '',
callbacks: {
search: function(query, searchCollection) {},
facetMatches: function(callback) {
callback([
{
value: 'user.email',
label: 'users.email',
category: 'Users'},
{
value: 'job.name',
label: 'job.name',
category: 'Jobs'},
{
value: 'job.startDate',
label: 'job.startDate',
category: 'Jobs'}
]);
},
valueMatches: function(facet, searchTerm, callback) {
if (searchTerm.length > 0) {
//pass the facet to the search and let the server deal with it.
switch (facet) {
case 'user.email':
callback([
{
label: 'john.smith@example.com'},
{
label: 'jane.doe@example.com'}
]);
break;
}
}
}
} });
非常感谢。