---
nav:
path: /components
group:
title: 信息输入
order: 10
toc: 'content'
---
# Picker 选择器
Picker 选择器显示一个或多个选项集合的可滚动列表,相比于原生 picker,实现了 iOS 与 Android 端体验的一致性。
## 何时使用
- 提供一组或多组关联选项供用户选择。
- 当少于 5 个选项时,建议直接将选项平铺,使用 Radio 是更好的选择。
## 代码示例
### 基本使用
### 级联Picker
## API
### Picker
| 属性 | 说明 | 类型 | 默认值 |
| -----|-----|-----|-----|
| animationType | 动画类型,可选`transform` `position`,默认使用`transform`动画性能更好。由于小程序基础库bug,弹窗内picker-view阴影样式在 iOS 下可能存在样式问题,可暂切换为`position`解决 | string | `transform` |
| className | 类名| string | - |
| defaultValue | 默认值 | string \| number \| Array\ | - |
| disabled | 是否禁用 | boolean | false |
| cancelText | 取消文案 | string | '取消' |
| content | 自定义内容插槽 | slot | - |
| indicatorStyle | 选中框样式 | string | - |
| indicatorClassName | 选中框的类名 | string | - |
| maskClassName | 蒙层的类名 | string | - |
| maskClosable | 点击蒙层是否可以关闭 | boolean |true | |
| maskStyle | 蒙层的样式 | string | - |
| okText | 确认按钮文案 | string | '确定' |
| options | picker 数据,配置每一列的选项 | [PickerColumnItem](#pickercolumnitem)[] | [] |
| placeholder | 提示文案 | string | '请选择' |
| popClassName | 弹出框类名 | string | - |
| popStyle | 弹出框样式 | string | - |
| prefix | 前缀 | slot | - |
| style | 样式| string | - |
| suffix | 后缀 | slot | - |
| title | 弹出框标题 | string \| slot | - |
| value | 选中的值 | string \| number \| Array\ | - |
| onOk | 点击确定按钮,触发回调 | (value: [PickerColumnItem](#pickercolumnitem), column: [PickerColumnItem](#pickercolumnitem), event: [Event](https://opendocs.alipay.com/mini/framework/event-object)) => void | - |
| onCancel | 点击取消按钮/蒙层,触发回调 | (event: [Event](https://opendocs.alipay.com/mini/framework/event-object)) => void | - |
| onChange | 选中项发生变化,触发回调 | (value: [PickerColumnItem](#pickercolumnitem), column: [PickerColumnItem](#pickercolumnitem), event: [Event](https://opendocs.alipay.com/mini/framework/event-object)) => void | - |
| onFormat | 选中值的文本显示格式 | (value: [PickerColumnItem](#pickercolumnitem), column: [PickerColumnItem](#pickercolumnitem)) => string | - |
| onVisibleChange | 弹出框显示/隐藏状态变化触发 | (visible: boolean, event: [Event](https://opendocs.alipay.com/mini/framework/event-object)) => void | - |
### CascaderPicker
| 属性 | 说明 | 类型 | 默认值 |
| -----|-----|-----|-----|
| animationType | 动画类型,可选`transform` `position`,默认使用`transform`动画性能更好。由于小程序基础库bug,弹窗内picker-view阴影样式在iOS下可能存在样式问题,可暂切换为`position`解决 | string | `transform` |
| className | 类名| string | - |
| defaultValue | 默认选中的值 | string[] | - |
| disabled | 是否禁用 | boolean | false |
| cancelText | 取消文案 | string | '取消' |
| content | 自定义内容插槽 | slot | - |
| format | 时间格式化显示,格式同[dayjs](https://day.js.org/docs/zh-CN/display/format) | string | 'YYYY/MM/DD' |
| indicatorStyle | 选中框样式 | string | - |
| indicatorClassName | 选中框的类名 | string | - |
| maskClassName | 蒙层的类名 | string | - |
| maskClosable | 点击蒙层是否可以关闭 | boolean |true | |
| maskStyle | 蒙层的样式 | string | - |
| okText | 确认按钮文案 | string | '确定' |
| options | 可选数据 | [CascaderOption](#cascaderoption)[] | [] |
| placeholder | 提示文案 | string | '请选择' |
| popClassName | 弹出框类名 | string | - |
| popStyle | 弹出框样式 | string | - |
| prefix | 前缀 | slot | - |
| style | 样式| string | - |
| suffix | 后缀 | slot | - |
| title | 弹出框标题 | string \| slot | - |
| value | 选中的值 | string[] | - |
| onOk | 点击确定按钮,触发回调 | (value: string[], selectedOptions: [CascaderOption](#cascaderoption)[], event: [Event](https://opendocs.alipay.com/mini/framework/event-object)) => void | - |
| onCancel | 点击取消按钮/蒙层,触发回调 | (event: [Event](https://opendocs.alipay.com/mini/framework/event-object)) => void |
| onChange | 选中项发生变化,触发回调 | (value: string[], selectedOptions: [CascaderOption](#cascaderoption)[], event: [Event](https://opendocs.alipay.com/mini/framework/event-object)) => void | - |
| onFormat | 选中值的文本显示格式,默认展示labels.join('') | (value: string[], selectedOptions: [CascaderOption](#cascaderoption)[]) => string | - |
| onVisibleChange | 弹出框显示/隐藏状态变化触发 | (visible: boolean, event: [Event](https://opendocs.alipay.com/mini/framework/event-object)) => void | - |
### PickerColumnItem
| 参数 | 说明 | 类型 | 默认值 |
| -----|-----|-----|-----|
| label | 文字 | string | - |
| value | 值 | string \| number | - |
### CascaderOption
| 参数 | 说明 | 类型 | 默认值 |
| -----|-----|-----|-----|
| label | 文字 | string | - |
| value | 值 | string \| number | - |
| children | 子级 | CascaderOption[] | - |
## FAQ
### 动态改变picker列数时展示异常
由于原生picker-view的限制,暂不支持动态改变列数