2016-03-30 9 views
3

Ich habe ein Problem, wenn Sie eine Suche ein Element aus der VerfeinerungListe auswählen und ohne das ausgewählte Element nach etwas anderem zu suchen, verschwindet das ausgewählte Element aus der Liste aufgrund des Limits es hat, wie kann ich es einstellen, um immer das gewählte Einzelteil der Verfeinerungsliste zu zeigen?algolia instantsearch finishList item toogle wenn nach etwas anderem suchen

with the refinementList item selected

search for something else but the item is gone

+0

welcher Code haben Sie versucht? – n1c9

+0

Dies ist derzeit nicht machbar, aber eine gute Idee, können Sie bitte eine neue Github Frage hier öffnen: https://github.com/algolia/instantsearch.js/issues – vvo

Antwort

0

Tatsächlich sind die bereits verfeinerten Facetten intern in der Liste vorhanden, aber sie sind nicht relevant genug, um in der Liste angezeigt zu werden. Dies kann gelöst werden, indem das sortBy-Argument der Verfeinerungsliste optimiert wird. Im Beispiel, das Sie verwenden, können Sie es so beheben:

search.addWidget(
    instantsearch.widgets.refinementList({ 
    container: '#materials', 
    attributeName: 'materials', 
    operator: 'or', 
    limit: 10, 
    sortBy: ['isRefined', 'count:desc', 'name:asc'], 
    templates: { 
     item: facetTemplateCheckbox, 
     header: '<div class="facet-title">Materials</div class="facet-title">' 
    } 
    }) 
); 

Beachten Sie die Verwendung von ‚isRefined‘ als das erste Prädikat des sortBy. Dies stellt sicher, dass bereits verfeinerte Werte für die Benutzer immer sichtbar sind. Hier

ist ein gif des neuen Verhalten:

Fixed behavior

Verwandte Themen