Select

1.5.0 新增

Select 组件,用于单项选择。

注: 由于此组件依赖 Picker 组件,而 Picker 组件是基于 create-api 实现,所以在使用之前,请确保自己了解过 create-api

示例

基本用法

对于 Select 选择组件,你需要传入 options 定义各个选项,选择的结果则绑定在 v-model 上。

  1. <cube-select v-model="value" :options="options">
  2. </cube-select>
  1. export default {
  2. data() {
  3. return {
  4. options: [2013, 2014, 2015, 2016, 2017, 2018],
  5. value: 2016
  6. }
  7. }
  8. }

配置和事件

Select 支持选择器标题(title)、占位符(placeholder)、自动弹出选择器(autoPop)、禁用(disabled)的配置。并且在选择时,如果选择的值改变了,会派发 change 事件。

  1. <cube-select v-model="value" :title="title" :options="options" :placeholder="placeholder" :auto-pop="autoPop" :disabled="disabled" @change="change">
  2. </cube-select>
  1. export default {
  2. data() {
  3. return {
  4. options: [2013, 2014, 2015, 2016, 2017, 2018],
  5. value: 2016,
  6. title: '入职时间',
  7. placeholder: '请选择入职时间',
  8. autoPop: false,
  9. disabled: false
  10. }
  11. },
  12. methods: {
  13. change(value, index, text) {
  14. console.log('change', value, index, text)
  15. }
  16. }
  17. }

需要注意的一点是,change 事件在你直接赋值修改 value 的值时,不会触发,只会在选择导致的修改时触发。如果你只是想监听 value 的改变,请直接监听 value。

Props 配置

参数 说明 类型 可选值 默认值
options 选项 Array - []
v-model 选中的值 Any - -
placeholder 占位文案 String - ‘请选择’
autoPop 是否自动弹出选择器 Boolean true/false false
disabled 是否禁用 Boolean true/false false
title 选择器的标题 String - ‘请选择’
cancelTxt 选择器的取消按钮文案 String - ‘取消’
confirmTxt 选择器的确认按钮文案 String - ‘确认’
  • options 子配置项
参数 说明 类型 可选值 示例
value 该选项的值 Any - -
text 该选项的文案 String - -

你可以将每个选项定义成一个对象,其中 text 为选项文案,value为选项的值,若没有将该选项定义为对象,比如 2014,则我们内部会把它转化成 { value: 2014, text: 2014 }

事件

事件名 说明 参数1 参数2 参数3
change 在选择时,如果选择的值改变了派发 选中项的值 选中项的索引 选中项的文案
picker-show 使用的 Picker 显示的时候派发 - - -
picker-hide 使用的 Picker 隐藏的时候派发(确定或取消都会派发) - - -

原文:

https://didi.github.io/cube-ui/#/zh-CN/docs/select