insales-autocomplete-address
v1.2.3
Published
[](https://www.npmjs.com/package/insales-autocomplete-address) [](https://www.npmjs.com/package/insales-auto
Readme
InSales - autocomplete address
Installation
npm install insales-autocomplete-addressПакет на npm: insales-autocomplete-address
Usage
<div class="insales-autocomplete-address">
<input
type="text"
class="insales-autocomplete-address-input"
placeholder="Введите адрес"
value=""
>
<ul class="insales-autocomplete-address-result-list"></ul>
</div>
<script type="text/javascript">
const autocomplete = new InsalesAutocompleteAddress('.insales-autocomplete-address', {
autoLocation: true,
debounceTime: 0,
country: 'RU',
clearInputOnCountryChange: false,
onChange: (data)=>{
console.log('onChange', data);
}
});
</script>Options
autoLocation(default:true): Определять адрес автоматически?debounceTime(default:0): Задержка между запросами в КЛАДР (в миллисекундах)country(default:'RU'): Код страны для поиска адресов (например, 'RU', 'US', 'DE', 'FR', 'GB', 'KZ', 'BY')initialFulltextSearch(default:null): Начальный поисковый запрос для автоматического заполнения при инициализацииclearInputOnCountryChange(default:false): Очищать поле ввода при переключении страны. Еслиtrue, при вызовеsetCountry()илиrecreate()инпут будет очищен, и локация из localStorage не будет установлена.onChange(default:function): Callback после выбора адреса. Принимает объект с данными о локации.
Methods
setCountry(country)
Устанавливает страну для поиска адресов.
autocomplete.setCountry('US');Параметры:
country(string): Код страны (например, 'RU', 'US', 'DE')
Примечание: Если clearInputOnCountryChange установлен в true, инпут будет автоматически очищен при изменении страны.
setValue(data)
Устанавливает значение в поле ввода автокомплита.
autocomplete.setValue({
result: 'г Москва, ул Ленина, д 1'
});Параметры:
data(Object): Объект с данными о локацииdata.result(string): Текст для установки в поле ввода
clearInput()
Очищает поле ввода автокомплита.
autocomplete.clearInput();recreate(options)
Пересоздает все экземпляры автокомплита. Полезно для обновления конфигурации или восстановления после destroy().
// Пересоздать без установки локации
autocomplete.recreate({ withLocation: false });
// Пересоздать с установкой локации
autocomplete.recreate({ withLocation: true });Параметры:
options(Object, опционально):withLocation(boolean, default:false): Устанавливать ли адрес при пересоздании
Примечание: Если clearInputOnCountryChange установлен в true и withLocation равен false, инпут будет очищен перед инициализацией.
initWithoutLocation()
Инициализирует автокомплиты без установки локации из localStorage.
autocomplete.initWithoutLocation();destroy()
Уничтожает все экземпляры автокомплита. Удаляет обработчики событий и очищает ссылки.
autocomplete.destroy();Примеры
Переключение страны с очисткой инпута
const autocomplete = new InsalesAutocompleteAddress('.insales-autocomplete-address', {
country: 'RU',
clearInputOnCountryChange: true
});
// При переключении страны инпут будет очищен
autocomplete.setCountry('US');
autocomplete.recreate({ withLocation: false });Переключение страны без очистки инпута (по умолчанию)
const autocomplete = new InsalesAutocompleteAddress('.insales-autocomplete-address', {
country: 'RU',
clearInputOnCountryChange: false // или просто не указывать
});
// При переключении страны дефолтный город останется
autocomplete.setCountry('US');
autocomplete.recreate({ withLocation: false });Управление жизненным циклом
const autocomplete = new InsalesAutocompleteAddress('.insales-autocomplete-address');
// Уничтожить автокомплит
autocomplete.destroy();
// Пересоздать автокомплит
autocomplete.recreate({ withLocation: false });