• /
  • Log in
  • Free account

Select

The <Select> component is a variant of the <Dropdown> one, especially targeted to be used in form components. The main differences are:

  • It can only work in declarative mode, i.e. it cannot be virtualized by passing a child function.

  • Every <SelectItem> accepts a value prop, that will be matched against the value passed to <Select>, and the right option will be selected. As opposed to a traditional <SELECT> DOM element, any reference can be used as a value, both primitives and objects.

  • Items do not accept an onClick. Instead, you will get the value of the selected option by receiving it from an onChange method.

The component is always controlled, meaning you have to update its value from an onChange callback for it to reflect the newly selected property.

Usage

import { Select } from 'nr1'

Examples

Props

ariaLabelstring

Provide a descriptive label for this control, e.g. "Accounts".

childrenrequirednode

List of options expressed as a set of <SelectItem>s.

classNamestring

Appends class names to the component.

descriptionstring

Message with instructions on how to fill the form field.

disabledboolean

If true, the select is not available for interaction.

infostring

Additional information can be displayed in an info tooltip next to the Label.

invalidboolean|string

When true, sets the field in an invalid state, in order to notify the user attention is needed over this particular field. This property can be a boolean field or a string. When it is a string, as well as the invalid state being shown, the text will be shown below.

labelstring

Text to display as label.

labelInlineboolean

Display the label inline the form control.

Use only when the component is not inside a Form. In that case set layoutType to Form.LAYOUT_TYPE.SPLIT in the Form component.

onChangefunction

Callback fired any time the value of the select is changed. You can get the value back as the second argument of the "onChange" event.

function (
event: Event,
value: any
) => undefined
requiredboolean
DEFAULT
false

If true, denotes the form field as required.

spacingTypeenum[]

Spacing property. Spacing is defined as a tuple of zero to four values, which follow the same conventions as CSS properties like margin or padding. To omit a value, use SPACING_TYPE.OMIT.

<Array of
<One of
Select.SPACING_TYPE.EXTRA_LARGE,
Select.SPACING_TYPE.LARGE,
Select.SPACING_TYPE.MEDIUM,
Select.SPACING_TYPE.NONE,
Select.SPACING_TYPE.OMIT,
Select.SPACING_TYPE.SMALL,
>
>
styleobject

Inline style for custom styling.

Should be used only for positioning and spacing purposes.

testIdstring

Adds a data-test-id.

Used to target the component in unit and e2e testing.

valueany

Value matching the item selected.

Methods

Select.render

function () => undefined
Create issueEdit page
Copyright © 2021 New Relic Inc.