1# Select 2 3提供下拉选择菜单,可以让用户在多个选项之间选择。 4 5> **说明:** 6> 7> 该组件从API Version 8开始支持。后续版本如有新增内容,则采用上角标单独标记该内容的起始版本。 8 9## 子组件 10 11无 12 13## 接口 14 15Select(options: Array\<[SelectOption](#selectoption对象说明)\>) 16 17## SelectOption对象说明 18 19| 参数名 | 参数类型 | 必填 | 参数描述 | 20| ------ | ----------------------------------- | ---- | -------------- | 21| value | [ResourceStr](ts-types.md#resourcestr) | 是 | 下拉选项内容。 | 22| icon | [ResourceStr](ts-types.md#resourcestr) | 否 | 下拉选项图片。 | 23 24## 属性 25 26除支持[通用属性](ts-universal-attributes-size.md)外,还支持以下属性: 27 28| 名称 | 参数类型 | 描述 | 29| ----------------------- | ------------------------------------- | --------------------------------------------- | 30| selected | number | 设置下拉菜单初始选项的索引,第一项的索引为0。<br>当不设置selected属性时,默认选择值为-1,菜单项不选中。 | 31| value | string | 设置下拉按钮本身的文本内容。 当菜单选中时默认会替换为菜单项文本内容。 | 32| font | [Font](ts-types.md#font) | 设置下拉按钮本身的文本样式。<br/>默认值:<br/>{<br/>size: '16fp',<br/>weight: FontWeight.Medium<br/>} | 33| fontColor | [ResourceColor](ts-types.md#resourcecolor) | 设置下拉按钮本身的文本颜色。 <br/>默认值:'\#E6FFFFFF' | 34| selectedOptionBgColor | [ResourceColor](ts-types.md#resourcecolor) | 设置下拉菜单选中项的背景色。<br/>默认值:'\#33007DFF' | 35| selectedOptionFont | [Font](ts-types.md#font) | 设置下拉菜单选中项的文本样式。<br/>默认值:<br/>{<br/>size: '16fp',<br/>weight: FontWeight.Regular<br/>} | 36| selectedOptionFontColor | [ResourceColor](ts-types.md#resourcecolor) | 设置下拉菜单选中项的文本颜色。<br/>默认值:'\#ff007dff' | 37| optionBgColor | [ResourceColor](ts-types.md#resourcecolor) | 设置下拉菜单项的背景色。<br/>默认值:'\#ffffffff' | 38| optionFont | [Font](ts-types.md#font) | 设置下拉菜单项的文本样式。<br/>默认值:<br/>{<br/>size: '16fp',<br/>weight: FontWeight.Regular<br/>} | 39| optionFontColor | [ResourceColor](ts-types.md#resourcecolor) | 设置下拉菜单项的文本颜色。<br/>默认值:'\#ff182431' | 40 41## 事件 42 43| 名称 | 功能描述 | 44| ------------------------------------------------------------ | ------------------------------------------------------------ | 45| onSelect(callback: (index: number, value?: string) => void) | 下拉菜单选中某一项的回调。<br/>index:选中项的索引。<br/>value:选中项的值。 | 46 47## 示例 48 49```ts 50// xxx.ets 51@Entry 52@Component 53struct SelectExample { 54 build() { 55 Column() { 56 Select([{ value: 'aaa', icon: "/common/public_icon.svg" }, 57 { value: 'bbb', icon: "/common/public_icon.svg" }, 58 { value: 'ccc', icon: "/common/public_icon.svg" }, 59 { value: 'ddd', icon: "/common/public_icon.svg" }]) 60 .selected(2) 61 .value('TTTTT') 62 .font({ size: 16, weight: 500 }) 63 .fontColor('#182431') 64 .selectedOptionFont({ size: 16, weight: 400 }) 65 .optionFont({ size: 16, weight: 400 }) 66 .onSelect((index: number) => { 67 console.info('Select:' + index) 68 }) 69 }.width('100%') 70 } 71} 72``` 73 74![](figures/select.png)