VueCtkDateTimePicker

Vueで使いやすい日時選択UIライブラリを探した結果、現時点では「 VueCtkDateTimePicker」かな?ということで。

(vue-datetime も悪くなさそうでしたが、日選択と時間選択が別画面なのがユーザの手間になるように感じました。vuejs-datepicker はとても使いやすそうだったけど、時間選択がありませんでした。)

インストール

npm i --save vue-ctk-date-time-picker

import & component化

import VueCtkDateTimePicker from 'vue-ctk-date-time-picker';
import 'vue-ctk-date-time-picker/dist/vue-ctk-date-time-picker.css';

// グローバルコンポーネント指定
Vue.component('VueCtkDateTimePicker', VueCtkDateTimePicker);

// or ローカルコンポーネント指定
export default {
  components: {
    VueCtkDateTimePicker
  },
}

component使用イメージ

<VueCtkDateTimePicker
    v-model="date"
    :format="'YYYY-MM-DD HH:mm'" // 24時間表記のフォーマットにするとUIからAMとPMの指定がきえる
    :no-label="true"
    :no-header="true"
    :button-now-translation="'今日'"
    :minute-interval="5"
    :disabled-hours="['00', '01', '02', '03', '04', '05', '06', '23']"
    :overlay="true" // 日時選択UIがでているとき背景をカバーする
    :label="placeHolder" // 日時が未指定のときに表示する文字列
></VueCtkDateTimePicker>

残念なところ

日時選択UI内の月の表示がなぜか漢字なこと!!
十二月って…!!12月と表示させて、お願い…!と思いましたが、変更を受け取る仕様にはなっていなかったので断念。