Skip to content

Better styling control for native <input> in Creatable + Multi mode #6048

@yashrajbharti

Description

@yashrajbharti

We've been using react-select@5 with Creatable and isMulti, and are trying to style the native <input> used for entering new tags.


Problem

The native <input> element:

<input class="select__input" ... />

is styled via inline styles and cannot be fully targeted or overridden using:

  • classNames.input (applies to a parent div)
  • components.Input (wraps the input, doesn’t pass props to it)
  • styles.input

This limits full integration into modern utility-based styling systems like Tailwind.


✅ What we tried

  • opacity-0
  • full styles.input override
  • classNames.input and components.Input — do not reach native input

Suggestion

Could we expose a way to:

  • Pass a className or ref directly to the native <input>
  • OR provide a getInputProps() helper like downshift that lets us spread custom props on it

This would let developers:

  • Apply custom focus styles using ring-* classes
  • Control caret/text/placeholder rendering
  • Integrate seamlessly with CSS frameworks

Thanks again for this powerful and flexible component! Happy to recreate the issue in an isolated code sandbox if needed.

Metadata

Metadata

Assignees

No one assigned

    Labels

    issue/bug-unconfirmedIssues that describe a bug that hasn't been confirmed by a maintainer yet

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions