One value, or several, chosen from a list the field opens on demand. Select is the right control when the options are too many to show at rest, when the reader needs to search them, or when the set is loaded rather than written into the page.
It is also the control that carries the most weight in a form, so reaching for it out of habit is the common mistake. Four neighbors take the job off it:
- Radio.Group when the list is short enough to show. Up to about five options, seeing all of them at once beats opening a popup to find out what they are.
- AutoComplete when the value is whatever the reader typed and the list is only a suggestion. Select in mode="tags" also accepts free text, but it commits each entry as a tag; AutoComplete stays a single free text field.
- Cascader or TreeSelect when the options are a hierarchy the reader navigates. Select's own grouping is one flat level of headings, not a tree.
- Transfer when the reader is building a set rather than picking from one, and needs to see what is in and what is out side by side.