1e41f4b71Sopenharmony_ci# select
2e41f4b71Sopenharmony_ci
3e41f4b71Sopenharmony_ci>  **NOTE**
4e41f4b71Sopenharmony_ci>
5e41f4b71Sopenharmony_ci>  This component is supported since API version 4. Updates will be marked with a superscript to indicate their earliest API version.
6e41f4b71Sopenharmony_ci
7e41f4b71Sopenharmony_ciThe **<select\>** component provides a drop-down list that allows users to select among multiple options.
8e41f4b71Sopenharmony_ci
9e41f4b71Sopenharmony_ci## Child Components
10e41f4b71Sopenharmony_ci
11e41f4b71Sopenharmony_ciThe **[<option\>](js-components-basic-option.md)** child component is supported.
12e41f4b71Sopenharmony_ci
13e41f4b71Sopenharmony_ci
14e41f4b71Sopenharmony_ci## Attributes
15e41f4b71Sopenharmony_ci
16e41f4b71Sopenharmony_ciThe [universal attributes](js-components-common-attributes.md) are supported.
17e41f4b71Sopenharmony_ci
18e41f4b71Sopenharmony_ci
19e41f4b71Sopenharmony_ci## Ad Asset
20e41f4b71Sopenharmony_ci
21e41f4b71Sopenharmony_ciIn addition to the [universal styles](js-components-common-styles.md), the following styles are supported.
22e41f4b71Sopenharmony_ci
23e41f4b71Sopenharmony_ci| Name       | Type  | Mandatory| Description                                                        |
24e41f4b71Sopenharmony_ci| ----------- | ------ | ---- | ------------------------------------------------------------ |
25e41f4b71Sopenharmony_ci| font-family | string | No  | Font family, in which fonts are separated by commas (,). The first font in the family or the specified [custom font](./js-components-common-customizing-font.md) is used for the text.<br>Default value: **sans-serif**|
26e41f4b71Sopenharmony_ci
27e41f4b71Sopenharmony_ci
28e41f4b71Sopenharmony_ci## Events
29e41f4b71Sopenharmony_ci
30e41f4b71Sopenharmony_ciIn addition to the [universal events](js-components-common-events.md), the following events are supported.
31e41f4b71Sopenharmony_ci
32e41f4b71Sopenharmony_ci| Name  | Parameter                     | Description                                                        |
33e41f4b71Sopenharmony_ci| ------ | ------------------------- | ------------------------------------------------------------ |
34e41f4b71Sopenharmony_ci| change | {newValue:&nbsp;newValue} | Triggered when an option is selected from the drop-down list to return an object. The value of **newValue** is the value of the selected option.|
35e41f4b71Sopenharmony_ci
36e41f4b71Sopenharmony_ci>  **NOTE**
37e41f4b71Sopenharmony_ci>
38e41f4b71Sopenharmony_ci>  The **\<select>** component does not support the **click** event.
39e41f4b71Sopenharmony_ci
40e41f4b71Sopenharmony_ci
41e41f4b71Sopenharmony_ci## Methods
42e41f4b71Sopenharmony_ci
43e41f4b71Sopenharmony_ciThe [universal methods](js-components-common-methods.md) are supported.
44e41f4b71Sopenharmony_ci
45e41f4b71Sopenharmony_ci
46e41f4b71Sopenharmony_ci## Example
47e41f4b71Sopenharmony_ci
48e41f4b71Sopenharmony_ci```html
49e41f4b71Sopenharmony_ci<!-- xxx.hml -->
50e41f4b71Sopenharmony_ci<div class="container">
51e41f4b71Sopenharmony_ci    <select @change="onChange">
52e41f4b71Sopenharmony_ci        <option for="{{ array }}" value="{{ $item.value }}">
53e41f4b71Sopenharmony_ci            {{ $item.name }}
54e41f4b71Sopenharmony_ci        </option>
55e41f4b71Sopenharmony_ci    </select>
56e41f4b71Sopenharmony_ci</div>
57e41f4b71Sopenharmony_ci```
58e41f4b71Sopenharmony_ci
59e41f4b71Sopenharmony_ci```css
60e41f4b71Sopenharmony_ci/* xxx.css */
61e41f4b71Sopenharmony_ci.container {
62e41f4b71Sopenharmony_ci    display: flex;
63e41f4b71Sopenharmony_ci    justify-content: center;
64e41f4b71Sopenharmony_ci    align-items: center;
65e41f4b71Sopenharmony_ci    width: 100%;
66e41f4b71Sopenharmony_ci    height: 100%;
67e41f4b71Sopenharmony_ci}
68e41f4b71Sopenharmony_ci```
69e41f4b71Sopenharmony_ci
70e41f4b71Sopenharmony_ci```js
71e41f4b71Sopenharmony_ci// xxx.js
72e41f4b71Sopenharmony_ciexport default {
73e41f4b71Sopenharmony_ci    data: {
74e41f4b71Sopenharmony_ci        array: [
75e41f4b71Sopenharmony_ci            {
76e41f4b71Sopenharmony_ci                "value": "Option 0", "name": "Option 0"
77e41f4b71Sopenharmony_ci            },
78e41f4b71Sopenharmony_ci            {
79e41f4b71Sopenharmony_ci                "value": "Option 1", "name": "Option 1"
80e41f4b71Sopenharmony_ci            },
81e41f4b71Sopenharmony_ci            {
82e41f4b71Sopenharmony_ci                "value": "Option 2", "name": "Option 2"
83e41f4b71Sopenharmony_ci            },
84e41f4b71Sopenharmony_ci            {
85e41f4b71Sopenharmony_ci                "value": "Option 3", "name": "Option 3"
86e41f4b71Sopenharmony_ci            },
87e41f4b71Sopenharmony_ci        ]
88e41f4b71Sopenharmony_ci    },
89e41f4b71Sopenharmony_ci    getData() {
90e41f4b71Sopenharmony_ci        let other = [
91e41f4b71Sopenharmony_ci            {
92e41f4b71Sopenharmony_ci                "value": "Option A", "name": "Option A"
93e41f4b71Sopenharmony_ci            },
94e41f4b71Sopenharmony_ci            {
95e41f4b71Sopenharmony_ci                "value": "Option B", "name": "Option B"
96e41f4b71Sopenharmony_ci            },
97e41f4b71Sopenharmony_ci            {
98e41f4b71Sopenharmony_ci                "value": "Option C", "name": "Option C"
99e41f4b71Sopenharmony_ci            },
100e41f4b71Sopenharmony_ci            {
101e41f4b71Sopenharmony_ci                "value": "Option D", "name": "Option D"
102e41f4b71Sopenharmony_ci            },
103e41f4b71Sopenharmony_ci        ]
104e41f4b71Sopenharmony_ci        return other
105e41f4b71Sopenharmony_ci    },
106e41f4b71Sopenharmony_ci    onChange() {
107e41f4b71Sopenharmony_ci        this.array = this.getData()
108e41f4b71Sopenharmony_ci    }
109e41f4b71Sopenharmony_ci}
110e41f4b71Sopenharmony_ci```
111e41f4b71Sopenharmony_ci
112e41f4b71Sopenharmony_ci![en-us_image_0000001152588538](figures/en-us_image_0000001152588538.gif)
113