パッケージをインストールする
- プロジェクトに
vuejs-datepicker
とmoment
を入れる
npm install vuejs-datepicker --save
yarn add vuejs-datepicker
npm install --save moment
yarn add moment
どこからでも使えるようにpluginに登録する
plugins/vuejs-datepicker.js
作成
import Vue from "vue";
import moment from 'moment'
import Datepicker from "vuejs-datepicker";
import { ja } from "vuejs-datepicker/dist/locale";
Datepicker.props.language.default = () => ja;
Datepicker.props.format.default = (date) => {
return moment(date).format('YYYY年MM月DD日');
};
Vue.component("datepicker", Datepicker);
nuxt.config.js
編集
plugins: [
'~/plugins/vuejs-datepicker.js', // ⭐️ 追加
],
これで、どのファイルでも<datepicker></datepicker>
を使えるようになった
使う
<template>
<div>
<datepicker />
</div>
</template>
補足
nuxt.config.js
のplugins
にてデフォルトの言語をjaに、デフォルトのフォーマットをYYYY年MM月DD日にしてる
これを呼び出し元で変えたい場合は、prop
で渡してあげればOK
<template>
<div>
<datepicker
:language='en'
:format='customFormatter'
/>
</div>
</template>
<script>
import { en } from "vuejs-datepicker/dist/locale";
import moment from 'moment'
export default {
data(){
return {
en, // ⭐️ 追加
}
},
methods: {
customFormatter(date) { // ⭐️ 追加
return moment(date).format('YYYY-MM-DD')
}
},
};
</script>
Nuxt.jsにて日付入力の補完をしてくれるdatepickerを導入した