# Options Prop
vue-select
accepts arrays of primitive values or objects to use as options through the options
prop:
<!-- array of strings or numbers -->
<v-select :options="['Canada', 'United States']"></v-select>
<!-- or, an array of objects -->
<v-select :options="[{label: 'Canada', code: 'ca'}]"></v-select>
# Option Labels
# Options as Primitives (strings, numbers, boolean)
When options
contains strings or numbers, they'll be used as the label for the option within the
component. No further configuration is necessary.
# Options as Objects
When options
is an array of objects, the component must generate a label to be shown as the
options text. By default, vue-select
will attempt to render option.label
as the option label.
You might not have a label
key in your objects, so you can set your own label to match your
source data using the label {String}
prop.
For example, consider an object with countryCode
and countryName
properties:
{
countryCode: "CA",
countryName: "Canada"
}
If you wanted to display Canada
in the dropdown, you'd use the countryName
key:
<v-select label="countryName" :options="countries"></v-select>
# Null / Empty Options
vue-select
requires the options
prop to be an array
. If you are using Vue in development
mode, you will get warnings attempting to pass anything other than an array
to the options
prop.
If you need a null
/empty
value, use an empty array []
.