react-dadata-suggestions-reactoutsideclick
Version:
Just another one react component for dadata suggestions
82 lines (61 loc) • 4.26 kB
Markdown
React-компонент для [подсказок dadata](https://dadata.ru/suggestions "official website").
`npm i --save react-dadata-suggestions`
[страница на npm](https://www.npmjs.com/package/react-dadata-suggestions)
[Песочница](https://codesandbox.io/embed/p95804280q)
```javascript
import React, { Component } from 'react';
import DadataSuggestions from 'react-dadata-suggestions';
import "react-dadata-suggestions/dist/styles.css";
const token = 'your_token';
class App extends Component {
render() {
return (
<DadataSuggestions
token={ token }
onSelect={ (suggestion) => console.log(suggestion) }
/>
);
}
}
export default App;
```
| prop | type | description | required | default |
|:--------------:|:----------------:|:-------------------:|:----------:|:--------:|
|token| string|ваш api токен|**true**|`''`|
|count|integer|максимальное количество подсказок в списке|false|`10`|
|deferRequestBy|integer|задержка перед запросом в мс|false|`300`|
|placeholder|string| |false|`''`|
|hint|string|подсказка для пользователя в выпадающем списке|false|`Выберите вариант ниже или продолжите ввод`|
|minChars|integer|минимальная длина запроса для обращения к api|false|`3`|
|geolocation|boolean|Приоритет городу пользователя, только для адресов|false|`true`|
|service|string|Доступные значения: `address`, `bank`, `fio`, `email`, `party`|false|`address`|
|highlighting|bool|подсветка совпавших слов в подсказках|false|`true`|
|receivePropsBehaveLikeOnChange|bool|см. ниже| false| `false` |
|value|object|экземпляр подсказки|false|null|
|name|string|имя инпута|false|null|
|readOnly||отметить инпут как readonly|false||
|disabled||отметить инпут как disabled|false||
|suggestionsFormatter (suggestion)|function|кастомный форматтер для подсказок в списке|false||
|selectedSuggestionFormatter (suggestion)|function|кастомный форматтер для выбранной подсказки (результат будет установле в качестве строки запроса)|false||
|specialRequestOptions|object|дополнительные параметры для тела запроса|false||
|onSelect (suggestion)|function|обработчик выбора подсказки|**true**||
|onChange (query)|function|обработчик изменения запроса| false||
|onError (error)|function|обработчик ошибки обращения к api|false||
|onBlur|function|вызывается когда фокус пропадает с элемента|false||
|onFocus|function|вызывается при установке фокуса на элемент|false||
> Структуру `подсказки` можно подсмотреть в [официальной документации к api dadata](https://confluence.hflabs.ru/pages/viewpage.action?pageId=204669100)
- `receivePropsBehaveLikeOnChange` - только для версий < 2.0.
Изменяет поведение`componentWillReceiveProps`. По умолчанию при обновлении пропсов
просто сбрасывается стейт, если же значение установлено в `true`, то
поведение `componentWillReceiveProps` совпадает с поведением `onChange`.
С версии 2.0 это единственный вариант поведения.
Для кастомизации подсветки переопределите класс `.suggestions-highlighting`.
This project is licensed under the MIT License