vuejs-datepickerを外部ボタンから起動する方法
by kabanoki
HTML
<div id="app">
<vuejs-datepicker ref="picker"></vuejs-datepicker>
<button @click="doOpen()">open</button>
</div>
<script src="https://cdnjs.cloudflare.com/ajax/libs/vue/2.6.10/vue.min.js"></script>
<script src="https://unpkg.com/vuejs-datepicker"></script>
<script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/locale/translations/ja.js"></script>
CSS
body {
background: #20262E;
padding: 20px;
font-family: Helvetica;
}
#app {
background: #fff;
border-radius: 4px;
padding: 20px;
transition: all 0.2s;
}
Vue
new Vue({
el: '#app',
components: {
'vuejs-datepicker':vuejsDatepicker
},
methods:{
doOpen: function(){
if(!this.$refs.picker.isOpen) {
this.$refs.picker.$el.querySelector("input").focus();
this.$refs.picker.showCalendar();
}
},
doClose: function(){
if(this.$refs.picker.isOpen) {
this.$refs.picker.close(true);
}
}
}
});