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 | ReactNodeOnly iOS. Текст кнопки “отмена”, которая чистит текстовое поле и убирает фокус. По умолчанию: Отмена |
before | ReactNodeКонтент, отображаемый перед полем ввода. По умолчанию: <Icon16SearchOutline /> |
clearButtonTestId | stringПередает атрибут По умолчанию: - |
clearLabel | stringТекст для скринридеров, описывающий кнопку очистки. По умолчанию: Очистить |
defaultValue | stringЗначение поля ввода по умолчанию. По умолчанию: - |
findButtonTestId | stringПередает атрибут По умолчанию: - |
findButtonText | stringТекст для кнопки Найти. По умолчанию: Найти |
getRef | Ref<HTMLInputElement>Deprecated: Since 7.9.0. Вместо этого используйте По умолчанию: - |
getRootRef | Ref<HTMLDivElement>По умолчанию: - |
hideClearButton | booleanСкрывает кнопку очистки. По умолчанию: - |
icon | ReactNode | ((renderFn: RenderIconButtonFn) => ReactNode)Иконка поиска. Может быть React-элементом или функцией, возвращающей элемент. По умолчанию: - |
iconLabel | stringТекст для скринридеров, описывающий иконку поиска. По умолчанию: - |
noPadding | booleanУдаляет отступы у компонента. По умолчанию: - |
onFindButtonClick | MouseEventHandler<HTMLElement>Обработчик, при нажатии на кнопку “Найти”. По умолчанию: - |
onIconClick | PointerEventHandler<HTMLElement>Обработчик нажатия на иконку поиска. По умолчанию: - |
slotProps | { root?: (HTMLAttributes<HTMLDivElement> & HasRootRef<HTMLDivElement> & HasDataAttribute); input?: (InputHTMLAttributes<...> & ... 1 more ... & HasDataAttribute) | undefined; } | undefinedСвойства, которые можно прокинуть внутрь компонента:
По умолчанию: - |