Select
1.5.0 新增
Select 组件,用于单项选择。
注: 由于此组件依赖 Picker 组件,而 Picker 组件是基于 create-api 实现,所以在使用之前,请确保自己了解过 create-api。
示例
基本用法
对于 Select 选择组件,你需要传入 options 定义各个选项,选择的结果则绑定在 v-model 上。
<cube-select v-model="value" :options="options">
</cube-select>
export default {
data() {
return {
options: [2013, 2014, 2015, 2016, 2017, 2018],
value: 2016
}
}
}
配置和事件
Select 支持选择器标题(title)、占位符(placeholder)、自动弹出选择器(autoPop)、禁用(disabled)的配置。并且在选择时,如果选择的值改变了,会派发 change 事件。
<cube-select v-model="value" :title="title" :options="options" :placeholder="placeholder" :auto-pop="autoPop" :disabled="disabled" @change="change">
</cube-select>
export default {
data() {
return {
options: [2013, 2014, 2015, 2016, 2017, 2018],
value: 2016,
title: '入职时间',
placeholder: '请选择入职时间',
autoPop: false,
disabled: false
}
},
methods: {
change(value, index, text) {
console.log('change', value, index, text)
}
}
}
需要注意的一点是,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 隐藏的时候派发(确定或取消都会派发) | - | - | - |
原文: