XtMobilePicker 移动端选项选择器
# XtMobilePicker 移动端选项选择器
移动端选项选择面板,支持单选滚轮(替代 select / radio-group)和多选列表(替代 checkbox-group)。
组件本身为纯面板,不包含弹层遮罩。需配合 XtMobileSheet 使用底部弹出效果。
# 单选模式 - 替代 select / radio-group
当前值:shenzhen
复制代码
# 多选模式 - 替代 checkbox-group
已选:2 项 - js, css
复制代码
# 禁用选项
当前值:wechat
复制代码
# 自定义字段名
当前值:2
复制代码
# Attributes
| 参数 | 说明 | 类型 | 可选值 | 默认值 |
|---|---|---|---|---|
| v-model | 选中值,单选为基本类型,多选为数组 | String / Number / Array | — | — |
| mode | 选择模式 | String | single / multiple | single |
| options | 选项数组 | Array | — | [] |
| title | 顶部标题 | String | — | 请选择 |
| confirm-text | 确认按钮文字 | String | — | 确定 |
| cancel-text | 取消按钮文字 | String | — | 取消 |
| field-keys | 自定义选项字段名 | Object | — | { label: 'label', value: 'value', disabled: 'disabled' } |
# Events
| 事件名 | 说明 | 回调参数 |
|---|---|---|
| input | 值变化,配合 v-model | 单选为 String/Number,多选为 Array |
| change | 值变化 | 同 input |
| confirm | 点击确定按钮 | 同 input |
| cancel | 点击取消按钮 | — |
# 选项数据结构
// 默认字段名
{
label: '显示文字', // fieldKeys.label
value: '选项值', // fieldKeys.value
disabled: false // fieldKeys.disabled,是否禁用
}
# 特性
- 纯面板组件:不含弹层遮罩,配合
XtMobileSheet实现底部弹出 - 单选滚轮:触摸滑动 + 惯性滚动 + 吸附对齐,体验与原生 Picker 一致
- 多选列表:带勾选标记的列表,支持多选切换
- 禁用选项:支持单选和多选模式下禁用特定选项
- 自定义字段:通过
fieldKeys灵活映射数据字段 - 安全区域:适配 iPhone 底部安全区域