SelectReady
Select lets users choose one option from an options menu. Consider using select when you have 5 or more options to choose from.
<nord-select name="page-size" value="25" label="Label">
<option value="25">25 per page</option>
<option value="50">50 per page</option>
<option value="100">100 per page</option>
</nord-select>
Properties
Property | Attribute | Description | Type | Default |
---|---|---|---|---|
expand | expand | Controls whether the select expands to fill the width of its container. | boolean | false |
size | size | The size of the component. | "s" | "m" | "l" | "m" |
label | label | Label for the input. | string | "" |
hint | hint | Optional hint text to be displayed with the input. Alternatively use the hint slot. | string | undefined | undefined |
hideLabel | hide-label | Visually hide the label, but still show it to assistive technologies like screen readers. | boolean | false |
placeholder | placeholder | Placeholder text to display within the input. | string | undefined | undefined |
error | error | Optional error to be shown with the input. Alternatively use the error slot. | string | undefined | undefined |
required | required | Determines whether the input is required or not. An input marked as required will be announced as such to users of assistive technology. When using this property you need to also set “novalidate” attribute on a form element to prevent browser from displaying its own validation errors. | boolean | false |
hideRequired | hide-required | Visually hide the required indicator, but still show required attribute to assistive technologies like screen readers. | boolean | false |
autocomplete | autocomplete | Specifies the data type of the field, so that the browser may attempt to fill out the field automatically on behalf of the user. | AutocompleteAttribute | "off" |
disabled | disabled | Makes the component disabled. This prevents users from being able to interact with the component, and conveys its inactive state to assistive technologies. | boolean | false |
name | name | The name of the form component. | string | undefined | undefined |
value | value | The value of the form component. | string | "" |
form | form | Gets the form, if any, associated with the form element. The setter accepts a string, which is the id of the form. | HTMLFormElement | null | undefined |
Events
Event | Description | Type |
---|---|---|
input | Fired as the user types into the input. | NordEvent |
change | Fired whenever the input's value is changed via user interaction. | NordEvent |
Slots
Slot name | Description |
---|---|
Default slot | Default slot for holding <option> elements. |
label | Use when a label requires more than plain text. |
hint | Use when a hint requires more than plain text. |
error | Optional slot that holds error text for the input. |
icon | Used to place an icon at the start of select. |
Methods
Method name | Parameters | Description |
---|---|---|
focus(options?: FocusOptions) => void | options : An object which controls aspects of the focusing process. | Programmatically move focus to the component. |
blur() => void | N/A | Programmatically remove focus from the component. |
click() => void | N/A | Programmatically simulates a click on the component. |
CSS Properties
CSS Custom Properties provide more fine grain control over component presentation. We advise utilizing existing properties on the component before using these.
Property | Description | Default |
---|---|---|
--n-select-block-size | Controls the block size, or height, of the select using our spacing tokens. | var(--n-space-xl) |
--n-label-color | Controls the text color of the label, using our color tokens. | var(--n-color-text) |
Dependencies
This component is internally dependent on the following components:
Usage #
This section includes guidelines for designers and developers about the usage of this component in different contexts.
Do #
- Use to let a user choose one option from an options menu.
- Use when you have more than 6 options to choose from.
- Use when you don’t know how many options there will be.
- Use hint text and placeholder to provide additional, non-critical instructions.
Don’t #
- Don't use a select if you have less than 6 options to choose from. Consider using segmented control or radio components instead, if you have enough space to allow it.
Content guidelines #
Select labels act as a title for the select field. Labels should typically be short and in noun form:
When writing select labels, always write them in sentence case, not title case. The first word should be capitalized and the rest lowercase (unless a proper noun):
Do not use colons in select labels:
Integration
For integration guidelines, please see Web Components documentation. This documentation explains how to implement and use Nord Web Components across different technologies such as Vue.js, React, or Vanilla JavaScript.
Troubleshooting
If you experience any issues while using Nord Web Components, please head over to the Support page for more guidelines and ways to contact us.