Vue disabledDates specific month
by kabanoki
HTML
<script src="https://unpkg.com/vuejs-datepicker"></script>
<div id="app">
<vuejs-datepicker
calendar-class="picker"
v-model="datepicker1"
:value="this.default"
:format="DatePickerFormat"
:language="language"
:disabled-dates="disabledDates"
:maximum-view="'month'"
:minimum-view="'month'"
:initial-view="'month'"
:inline="true"
></vuejs-datepicker>
</div>
<script src="https://cdnjs.cloudflare.com/ajax/libs/vue/2.6.10/vue.min.js"></script>
CSS
body {
background: #20262E;
padding: 20px;
font-family: Helvetica;
}
#app {
background: #fff;
border-radius: 4px;
padding: 70px;
transition: all 0.2s;
}
.picker{
margin:auto;
}
Vue
var disabledMonth = {
2017:[1,2,3,4,5,6,7,8,9,10,11,12],
2018: [1,3,5,7,9,11],
2019: [1,2]
};
new Vue({
el: '#app',
components: {
'vuejs-datepicker':vuejsDatepicker
},
data: {
datepicker1: '2018-10-04',
default: '2018-10-04',
DatePickerFormat: 'yyyy-MM-dd',
language:{
language: 'Japanese',
months: ['1月', '2月', '3月', '4月', '5月', '6月', '7月', '8月', '9月', '10月', '11月', '12月'],
monthsAbbr: ['1月', '2月', '3月', '4月', '5月', '6月', '7月', '8月', '9月', '10月', '11月', '12月'],
days: ['日', '月', '火', '水', '木', '金', '土'],
rtl: false,
ymd: 'yyyy-MM-dd',
yearSuffix: '年'
},
disabledDates: {
customPredictor: function(date) {
var months = disabledMonth[date.getFullYear()];
if(months){
for(var i=0; i<months.length; i++){
if(months[i] == (date.getMonth()+1)){
return true;
}
}
}
}
},
},
});