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: 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 113