Search
Search — поле поиска на частях Field, внешне как Input: слева уже стоит лупа, кнопка «Очистить» включена. В отличие от Input строку под ошибку не резервирует — у поиска ошибки валидации не бывает, и поле занимает ровно свою высоту (встаёт в один ряд с кнопками). Текст поле хранит само, а onValueChange вызывает через 300 мс после последнего ввода (debounce) — колбэк можно вешать сразу на запрос к API или фильтр списка, не дребезжа на каждый символ. value задаёт только начальное значение. Остальные пропсы: placeholder, size, radius, label, iconRight.
Использует: Field
Используется в: Filters.List, QuickSearch
Анатомия
Примеры
Начальное значение
value подставляется в поле один раз при монтировании — дальше текст живёт во внутреннем состоянии. Пригодится, когда запрос приезжает извне, например из URL. При непустом значении сразу видна кнопка «Очистить».
action
invalid
disabled
required
readOnly
API
| Prop | Type | Default |
|---|---|---|
valueНачальное значение — дальше поле хранит текст само | string | "" |
onValueChangeВызывается через 300 мс после последнего ввода | (value: string) => void | - |
placeholderПлейсхолдер поля | string | - |
labelТекст лейбла над полем | ReactNode | - |
iconRightДекоративная иконка справа внутри поля | Icon | - |
actionКнопка-действие справа внутри поля — | ReactNode | - |
sizeРазмер компонента | Size | - |
radiusСкругление углов: circle — «таблетка» | Radius | - |
invalidПомечает поле ошибочным: контрол получает | FieldArkRootProps["invalid"] | - |
disabledОтключает поле: контрол внутри становится недоступен | FieldArkRootProps["disabled"] | - |
requiredПомечает поле обязательным | FieldArkRootProps["required"] | - |
readOnlyЗначение видно, но изменить его нельзя | FieldArkRootProps["readOnly"] | - |
Наследуется от Pick<VisualProps, K>, Omit<FieldRootProps, "children">