Search
Компонент для реализации поисковых интерфейсов. Наследует все свойства нативного <input type="search">
с расширенными возможностями кастомизации.
Режим работы
Компонент поддерживает работу как в неконтролируемом режиме, так и контролируемом. Это стандартное поведение React-компонентов, прочитать про это можно в документации React ↗.
Для использования неконтролируемого режима достаточно просто не передавать value
или передавать defaultValue
, если
требуется задать значение по умолчанию.
Для контролируемого режима используйте связку свойств value
/onChange
для задания значения и его изменения.
// Неконтролируемое состояние
<Search defaultValue="Поиск" />;
// Контролируемое состояние
const [value, setValue] = React.useState('Поиск');
<Search value={value} onChange={(event) => setValue(event.target.value)} />;
Пользовательская иконка поиска
Вы можете использовать любую иконку для кнопки поиска, просто прокинув ее в свойство icon
.
Также, в более сложных кейсах, можно использовать функцию в свойстве icon
.
В качестве параметра эта функция принимает другую функцию отрисовки иконки
(тип ее можно посмотреть, импортировав RenderIconButtonFn
);
Кнопка “Найти”
Кнопка “Найти” отображается, если передать обработчик onFindButtonClick
:
iOS-специфика
Свойство after
позволяет поменять текст кнопки сброса:
Свойства и методы
Свойство | Описание |
---|---|
after | ReactNode Only iOS. Текст кнопки “отмена”, которая чистит текстовое поле и убирает фокус. По умолчанию: Отмена |
before | ReactNode Контент, отображаемый перед полем ввода. По умолчанию: <Icon16SearchOutline /> |
clearButtonTestId | string Передает атрибут По умолчанию: - |
clearLabel | string Текст для скринридеров, описывающий кнопку очистки. По умолчанию: Очистить |
defaultValue | string Значение поля ввода по умолчанию. По умолчанию: - |
findButtonTestId | string Передает атрибут По умолчанию: - |
findButtonText | string Текст для кнопки Найти. По умолчанию: Найти |
getRef | Ref<HTMLInputElement> По умолчанию: - |
getRootRef | Ref<HTMLDivElement> По умолчанию: - |
icon | ReactNode | ((renderFn: RenderIconButtonFn) => ReactNode) Иконка поиска. Может быть React-элементом или функцией, возвращающей элемент. По умолчанию: - |
iconLabel | string Текст для скринридеров, описывающий иконку поиска. По умолчанию: - |
noPadding | boolean Удаляет отступы у компонента. По умолчанию: - |
onFindButtonClick | MouseEventHandler<HTMLElement> Обработчик, при нажатии на кнопку “Найти”. По умолчанию: - |
onIconClick | PointerEventHandler<HTMLElement> Обработчик нажатия на иконку поиска. По умолчанию: - |