You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
MUI Select Lacks Basic Placeholder and Clear Functionality #49539
MUI Select lacks two fundamental features: native placeholder support and a built-in clear option.
Implementing either requires unnecessary workarounds and boilerplate. This is a significant usability and developer-experience deficiency in an otherwise mature component library.
My proposal is to support two simple props on Select:
placeholder: Displays placeholder text when no value is selected, without requiring displayEmpty and renderValue.
clearable: Provides a built-in clear button that resets the selection to an empty value.
My use case is the standard non-native Select. The existing displayEmpty + renderValue approach works, but requires unnecessary boilerplate for something as basic as displaying a placeholder.
These are basic features that shouldn't require custom rendering or additional components. The goal is to reduce boilerplate and make Select easier to use out of the box.
This issue asks for two features on Select, a placeholder prop and a clearable prop. Both are already requested in open issues:
Clearable Select:[Select][material][joy] add clearable prop to clear value #38153 ([Select][material][joy] add clearable prop to clear value) asks for the same thing, a single clearable prop that shows a clear icon and resets the value. That thread already discusses possible API shapes, including a clearable prop, and the issue is still open.
Select doesn't support placeholder today, and the Select docs say so in a warning: "Unlike input components, the placeholder prop is not available in Select. To add a placeholder, refer to the placeholder section below." So this is a known missing feature, not a defect.
Workarounds until either feature exists:
Placeholder: use displayEmpty with renderValue and return your placeholder markup when the value is empty. This is the approach in the Placeholder demo.
Clear: add an empty-value MenuItem (for example "None"), or put a clear IconButton in endAdornment that sets the value back to ''. A demo of this approach is linked in [Select][material][joy] add clearable prop to clear value #38153. These are suggestions I haven't tested.
You can upvote or comment on those two issues to show demand. Votes there are what decide whether these features are prioritized.
Agent-generated diagnosis; conclusions have not been independently verified. Workflow run. 🤖 Triage · Claude Code · claude-opus-5-5 · high effort · 10 turns · 0m26s · $0.17 · run
Activity
mordeccai commentedon Oct 27, 2026
Thanks for the triage.
My proposal is to support two simple props on
Select:placeholder: Displays placeholder text when no value is selected, without requiringdisplayEmptyandrenderValue.clearable: Provides a built-in clear button that resets the selection to an empty value.My use case is the standard non-native
Select. The existingdisplayEmpty+renderValueapproach works, but requires unnecessary boilerplate for something as basic as displaying a placeholder.These are basic features that shouldn't require custom rendering or additional components. The goal is to reduce boilerplate and make
Selecteasier to use out of the box.github-actions commentedon Oct 30, 2026
This issue asks for two features on
Select, aplaceholderprop and aclearableprop. Both are already requested in open issues:Select: [Select][material][joy] add clearable prop to clear value #38153 ([Select][material][joy] add clearable prop to clear value) asks for the same thing, a singleclearableprop that shows a clear icon and resets the value. That thread already discusses possible API shapes, including aclearableprop, and the issue is still open.placeholderonSelect: [material-ui][Select] Simplify placeholders, consistent sizing, and styling #49517 ([material-ui][Select] Simplify placeholders, consistent sizing, and styling) asks for<Select placeholder="…">so you don't needdisplayEmpty+renderValue, which is the same proposal as in your follow-up comment. [docs][select]placeholderprop is omitted #44821 covers the related documentation gap and also has a request to add the prop.Selectdoesn't supportplaceholdertoday, and the Select docs say so in a warning: "Unlike input components, theplaceholderprop is not available in Select. To add a placeholder, refer to the placeholder section below." So this is a known missing feature, not a defect.Workarounds until either feature exists:
displayEmptywithrenderValueand return your placeholder markup when the value is empty. This is the approach in the Placeholder demo.MenuItem(for example "None"), or put a clearIconButtoninendAdornmentthat sets the value back to''. A demo of this approach is linked in [Select][material][joy] add clearable prop to clear value #38153. These are suggestions I haven't tested.Next steps
Agent-generated diagnosis; conclusions have not been independently verified. Workflow run.
🤖 Triage · Claude Code · claude-opus-5-5 · high effort · 10 turns · 0m26s · $0.17 · run