效果图如下:

iOS 时间选择器样式 时间选择器组件_css

首先安装:vue-flatpickr-component 时间选择器库

npm安装:
npm install vue-flatpickr-component --save
Yarn安装:
yarn add vue-flatpickr-component

<template>
 <div class="form-group row pb-4 border-bottom">
   <label class="col-sm-2 col-form-label">考试时间:</label>
   <div class="col-sm-10 p-0">
     <div class="input-group">
       <flat-pickr v-model="data" :config="config" placeholder="选择日期"></flat-pickr>
       <div class="input-group-append">
         <button class="btn input-group-text" type="button" title="Toggle" data-toggle>
           <i class="fa fa-calendar-alt">
             <span aria-hidden="true" class="sr-only">Toggle</span>
           </i>
         </button>
       </div>
     </div>
   </div>
 </div>
<template>

<script>
import flatPickr from 'vue-flatpickr-component';	//引入flatpickr组件
import 'flatpickr/dist/flatpickr.css';				//引入他的css样式
import {Mandarin} from 'flatpickr/dist/l10n/zh.js';	//引入普通话语言包

import 'bootstrap/dist/css/bootstrap.css';			//需要安装bootstrap

export default {
  components: {
    flatPickr
  },
  data() {
   return {
    data: null,
    config: {
      wrap: true,
      altInput: true,
      dateFormat: "U",	//data变成时间戳
      altFormat: 'Y-m-d H:i',	//选择时显示的时间
      enableTime:true,			//选择小时分种
      defaultHour: 8,			//默认8点
      time_24hr: true,			//时间24小时制
      locale: Mandarin			//中文
    },
   }
  }
}
</script>

<style>
.input-group .form-control{
    background: #fff;
    border-radius: 3px 0 0 3px!important;
}
</style>

Config Option:

参数

类型

默认值

描述

altFormat

string

“F j, Y”

altInput的日期格式

altInput

Boolean

false

是否使用某种用户友好的方式来显示日期时间。

altInputClass

String

“”

添加到input上的自定义class类。例如bootstrap用户可能需要添加一个form-control class。

allowInput

boolean

false

是否允许用户直接在输入框中输入日期。

clickOpens

boolean

true

是否在点击输入框时打开日期时间选择界面。如果你想通过手动.open()方法来打开,该选项设置为false。

dateFormat

string

“Y-m-d”

设置日期显示格式。

defaultDate

String/Date Object

null

设置一个初始的日期。

disable

array

[]

被禁用的日期。

enableTime

boolean

false

是否启用时间选择。

enableSeconds

boolean

false

在时间选择器中是否可以选择秒。

noCalendar

boolean

false

是否隐藏日历。

hourIncrement

integer

1

小时输入框的步长。

minuteIncrement

integer

5

分钟输入框的步长。

inline

boolean

false

是否以内联的方式显示日历。

static

boolean

false

日期选择器位于包裹容器的位置。

wrap

boolean

false

包裹元素。

maxDate

String

null

用户可以选择的最大日期。

minDate

String

null

用户可以选择的最小日期。

onChange

function(dateObject, dateString)

null

每次日期被选择的时候都触发该函数。

onOpen

function(dateObject, dateString)

null

每次日历被打开时都会触发该函数。

onClose

function(dateObject, dateString)

null

每次日历被关闭时都会触发该函数。

parseDate

function

false

接收一个日期字符串并返回一个日期对象。

shorthandCurrentMonth

boolean

false

以简写方式显示月份

weekNumbers

boolean

false

是否在日历中显示星期数。

time_24hr

boolean

false

是否以24小时格式来显示时间。

utc

boolean

false

日期将会被解析、格式化和显示为UTC格式。

prevArrow

string

<

向前箭头图标。

nextArrow

string

>

向后箭头图标。

日期格式字符:

字符

描述

示例

d

月份中的天数,如果不满2个数字的会前导0。

01 - 31

D

一个星期中某一天的简写文本表示

Mon - Sun

l(小写的L)

一个星期中某一天的文本表示

Sunday - Saturday

j

不带前导0的月份中的天数

1 - 31

J

带序号后缀,不带前导0的月份中的天数

1st, 2nd, to 31st

w

使用数字来代表星期中的某一天

0 (星期天) - 6 (星期六)

F

月份的完整文本表示

January - December

m

使用数字来表示月份,前导带0。

01 - 12

n

使用数字来表示月份,前导不带0。

1 - 12

M

月份的简写文本表示

Jan - Dec

U

时间戳

1413704993

y

两个数字代表的年

99 or 03

Y

4个数字代表的年

1999 or 2003

H

24小时制

00 to 23

h

12小时制

1 to 12

i

分钟

00 to 59

S


(不满2位数补0) 00 to 59

s


0 - 59

K

AM/PM

AM or PM