# TextPicker 滑动选择文本内容的组件。 > **说明:** > > 该组件从API Version 8开始支持。后续版本如有新增内容,则采用上角标单独标记该内容的起始版本。 ## 子组件 无 ## 接口 TextPicker(options?: {range: string[] | string[][] | Resource | TextPickerRangeContent[] | TextCascadePickerRangeContent[], selected?: number, value?: string}) 根据range指定的选择范围创建文本选择器。 **参数:** | 参数名 | 参数类型 | 必填 | 参数描述 | | -------- | -------- | -------- | -------- | | range | string[] \| string[][]10+ \| [Resource](ts-types.md#resource类型) \|
[TextPickerRangeContent](#textpickerrangecontent10类型说明)[]10+ \| [TextCascadePickerRangeContent](#textcascadepickerrangecontent10类型说明)[]10+ | 是 | 选择器的数据选择列表。不可设置为空数组,若设置为空数组,则不显示;若动态变化为空数组,则保持当前正常值显示。
**说明**:单列数据选择器使用string[],Resource,TextPickerRangeContent[]类型。
多列数据选择器使用string[][]类型。
多列联动数据选择器使用TextCascadePickerRangeContent[]类型。| | selected | number \| number[]10+ | 否 | 设置默认选中项在数组中的索引值。
默认值:0
**说明**:单列数据选择器使用number类型。
多列、多列联动数据选择器使用number[]类型。
从API version 10开始,该参数支持[$$](../../quick-start/arkts-two-way-sync.md)双向绑定变量。| | value | string \| string[]10+ | 否 | 设置默认选中项的值,优先级低于selected。
默认值:第一个元素值
**说明**:只有显示文本列表时该值有效。显示图片或图片加文本的列表时,该值无效。
单列数据选择器使用string类型。
多列、多列联动数据选择器使用string[]类型。
从API version 10开始,该参数支持[$$](../../quick-start/arkts-two-way-sync.md)双向绑定变量。| ## TextPickerRangeContent10+类型说明 | 参数名 | 参数类型 | 必填 | 参数描述 | | ------ | -------------------------------------------------------- | ---- | ---------- | | icon | string \| [Resource](ts-types.md#resource) | 是 | 图片资源。 | | text | string \| [Resource](ts-types.md#resource) | 否 | 文本信息。 | ## TextCascadePickerRangeContent10+类型说明 | 参数名 | 参数类型 | 必填 | 参数描述 | | ------ | -------------------------------------------------------- | ---- | ---------- | | text | string \| [Resource](ts-types.md#resource) | 是 | 文本信息。 | | children | [TextCascadePickerRangeContent](#textcascadepickerrangecontent10类型说明)[] | 否 | 联动数据。 | ## 属性 除支持[通用属性](ts-universal-attributes-size.md)外,还支持以下属性: | 名称 | 参数类型 | 描述 | | -------- | -------- | -------- | | defaultPickerItemHeight | number \| string | 设置Picker各选择项的高度。 | | disappearTextStyle10+ | [PickerTextStyle](ts-basic-components-datepicker.md#pickertextstyle10类型说明) | 设置所有选项中最上和最下两个选项的文本颜色、字号、字体粗细。 | | textStyle10+ | [PickerTextStyle](ts-basic-components-datepicker.md#pickertextstyle10类型说明) | 设置所有选项中除了最上、最下及选中项以外的文本颜色、字号、字体粗细。 | | selectedTextStyle10+ | [PickerTextStyle](ts-basic-components-datepicker.md#pickertextstyle10类型说明) | 设置选中项的文本颜色、字号、字体粗细。 | | selectedIndex10+ | number \| number[] | 设置默认选中项在数组中的索引值,优先级高于options中的选中值。
**说明**:单列数据选择器使用number类型。多列、多列联动数据选择器使用number[]类型。 | ## 事件 除支持[通用事件](ts-universal-events-click.md)外,还支持以下事件: | 名称 | 描述 | | -------- | -------- | | onAccept(callback: (value: string, index: number) => void) | 点击弹窗中的“确定”按钮时触发该回调。

- value: 当前选中项的文本。
- index: 当前选中项的索引值。
**说明:**
该事件仅在[文本滑动选择器弹窗](ts-methods-textpicker-dialog.md)中生效。 | | onCancel(callback: () => void) | 点击弹窗中的“取消”按钮时触发该回调。
**说明:**
该事件仅在[文本滑动选择器弹窗](ts-methods-textpicker-dialog.md)中生效。 | | onChange(callback: (value: string \| string[]10+, index: number \| number[]10+) => void) | 滑动选中TextPicker文本内容后,触发该回调。
- value: 当前选中项的文本。(多列的情况,value为数组类型。)
- index: 当前选中项的索引值。(多列的情况,index为数组类型。)
**说明**:当显示文本或图片加文本列表时,value值为选中项中的文本值,当显示图片列表时,value值为空。 | ## 示例 ```ts // xxx.ets @Entry @Component struct TextPickerExample { private select: number = 1 private fruits: string[] = ['apple1', 'orange2', 'peach3', 'grape4'] build() { Column() { TextPicker({ range: this.fruits, selected: this.select }) .onChange((value: string, index: number) => { console.info('Picker item changed, value: ' + value + ', index: ' + index) }) } } } ``` ![zh-cn_image_0000001219662657](figures/zh-cn_image_0000001219662657.png)