TimePicker 时间选择框

当用户需要输入一个时间,可以点击标准输入框,弹出时间面板进行选择。

代码演示

基本

最简单的用法。

  1. <v-time-picker></v-time-picker>

三种大小

三种大小的输入框,大的用在表单中,中的为默认。

  1. <v-time-picker size="large"></v-time-picker>
  2. <v-time-picker></v-time-picker>
  3. <v-time-picker size="small"></v-time-picker>

受控组件

v-model 和 watch 需要配合使用。

  1. <template>
  2. <v-time-picker v-model="value"></v-time-picker>
  3. </template>
  4. <script>
  5. export default {
  6. data: ()=> ({
  7. value: '08:30:00'
  8. }),
  9. watch: {
  10. value(val){
  11. console.log(val)
  12. }
  13. }
  14. }
  15. </script>

禁用

禁用时间选择。

  1. <v-time-picker disabled></v-time-picker>

选择时分

TimePicker 浮层中的列会随着format变化,当略去format中的某部分时,浮层中对应的列也会消失。

  1. <v-time-picker format="HH:mm"></v-time-picker>

禁止选项

可以使用 disabledHours disabledMinutes disabledSeconds 组合禁止用户选择某个时间,配合hideDisabledOptions可以直接把不可选择的项隐藏。

  1. <template>
  2. <v-time-picker :disabled-hours="disabledHours" :disabled-minutes="disabledMinutes" :disabled-seconds="disabledSeconds"></v-time-picker>
  3. <v-time-picker :disabled-hours="disabledHours" :disabled-minutes="disabledMinutes" :disabled-seconds="disabledSeconds" hide-disabled-options></v-time-picker>
  4. </template>
  5. <script>
  6. export default {
  7. methods: {
  8. range(start, end) {
  9. const result = [];
  10. for (let i = start; i < end; i++) {
  11. result.push(i);
  12. }
  13. return result;
  14. },
  15. disabledHours(h) {
  16. const hours = this.range(0, 60);
  17. hours.splice(20, 4);
  18. return hours.includes(h);
  19. },
  20. disabledMinutes(m) {
  21. return this.range(0, 31).includes(m);
  22. },
  23. disabledSeconds(s) {
  24. return this.range(30, 60).includes(s);
  25. }
  26. }
  27. }
  28. </script>

附加内容

在 TimePicker 选择框底部显示自定义的内容。

  1. <v-time-picker>
  2. <template slot="addon" slot-scope="props">
  3. <v-button size="small" type="primary" @click="props.panel.close()">OK</v-button>
  4. </template>
  5. </v-time-picker>

API

TimePicker Props

属性说明类型默认值
value默认时间string-
format展示的时间格式stringHH:mm:ss
position下拉框的定位方式(absolute、fixed)stringabsolute
popupContainer下拉菜单渲染父节点。默认渲染到 body 上,如果你遇到菜单滚动定位问题,试试修改为滚动的区域,并相对其定位。function() => document.body
size控件大小(large、small)string-
disabled禁用全部操作booleanfalse
disabledHours禁止选择部分小时选项function(hour)-
disabledMinutes禁止选择部分分钟选项function(minite)-
disabledSeconds禁止选择部分秒选项function(second)-
hideDisabledOptions隐藏禁止选择的选项booleanfalse
scopedSlot:addon选择框底部显示自定义的内容function-