Skip to content

Picker 选择器

通用选择器组件,用于从预设选项中选择一个值。

引入

通过 easycom 自动引入,无需手动注册。

代码演示

基础用法

通过 v-model 绑定选中值,通过 range 设置选项列表。

html
<zq-picker v-model="value" :range="options" placeholder="请选择" />
js
const value = ref('')
const options = ['选项一', '选项二', '选项三']

带标签

通过 label 属性设置左侧标签文字。

html
<zq-picker v-model="value" label="城市" :range="cities" placeholder="请选择城市" />

对象数组

当选项为对象数组时,通过 range-key 指定显示字段,通过 value-key 指定值字段。

html
<zq-picker
  v-model="value"
  label="性别"
  :range="genderOptions"
  range-key="label"
  value-key="value"
  placeholder="请选择性别"
/>
js
const value = ref('')
const genderOptions = [
  { label: '男', value: 'male' },
  { label: '女', value: 'female' },
]

必填标记

通过 required 属性在标签前显示必填星号。

html
<zq-picker v-model="value" label="类型" :range="types" required placeholder="必填" />

禁用状态

通过 disabled 属性禁用选择器。

html
<zq-picker v-model="value" label="状态" :range="options" disabled />

错误状态

通过 error 属性标记错误状态,通过 error-message 显示错误提示。

html
<zq-picker
  v-model="value"
  label="类型"
  :range="options"
  error
  error-message="请选择类型"
/>

无边框

通过 border 属性控制是否显示下边框。

html
<zq-picker v-model="value" :range="options" :border="false" />

API

Props

参数说明类型默认值
v-model选中的值string | number | array''
mode选择器模式'selector''selector'
label左侧标签文字string''
placeholder占位提示文字string'请选择'
disabled是否禁用booleanfalse
border是否显示下边框booleantrue
required是否显示必填星号booleanfalse
error是否标记为错误状态booleanfalse
error-message错误提示文字string''
label-width标签宽度string'180rpx'
range选项列表array[]
range-key选项显示字段(对象数组时使用)string''
value-key选项值字段(对象数组时使用)string''

Events

事件名说明回调参数
update:modelValue选中值变化时触发value: string | number
change选中值变化时触发value: string | number

Slots

名称说明
label自定义左侧标签

主题定制

变量名说明
--color-bg-card背景色
--color-divider下边框颜色
--color-text-primary选中值文字颜色
--color-text-placeholder占位文字和图标颜色
--color-error错误状态颜色

Released under the MIT License.