Автозаполнение Алголии - как убрать "административные" муниципалитеты / районы из предложений автозаполнения - PullRequest
0 голосов
/ 01 мая 2019

Я интегрирую автозаполнение Algolia и мне не нравится внешний вид предложений автозаполнения. В частности, я не хочу, чтобы административные муниципалитеты и районы появлялись в предложениях, только адрес, город, страна. Как я могу опустить административный запрос?

Например, если я введу «Сараево», предложения будут отображаться как «Сараево, Кантон Сараево, Босния и Герцеговина» - я хочу, чтобы оно отображалось просто «Сараево, Босния и Герцеговина».

Ответы [ 3 ]

0 голосов
/ 23 мая 2019

Я подправил ваш код (поскольку он по какой-то причине дал двойную запятую) к этому, и он работает хорошо - еще раз спасибо! : D

templates: {
                   suggestion: function({ name, country, highlight }) {
            return (highlight.name || name) + ', ' + (highlight.country || country);
                    }
                 },
0 голосов
/ 24 мая 2019

Я только что понял, что, хотя в предложениях по автозаполнению отсутствует административный уровень, после выбора «места» административный уровень отображается в строке поиска. Любые предложения о том, как редактировать возвращаемое значение, т.е. что отображается ПОСЛЕ того, как вы выберите город / страну?

Спасибо.

0 голосов
/ 02 мая 2019

Вы должны использовать опцию templates конструктора Places.

Вот простой пример:

const placesInstance = places({
    ...
    templates: {
        suggestion: function(s) {
            return [s.highlight.name, s.highlight.city, s.highlight.country].join(', ');
        }
    }
});

Посмотрите на функцию, котораяиспользуется по умолчанию для более сложной выборки: https://github.com/algolia/places/blob/master/src/formatDropdownValue.js

...