目次
はじめに
ページツアーを作ることになったのですが、ツアーでフォーカスされた時にvuejs-datepickerを起動する必要がでました。
通常であれば、テキストフィールドをクリックすれば起動することが可能です。
しかし今回はツアーなので、クリックすることなくvuejs-datepicker展開してほしいのです。
環境
vue.js | 2.6.10 |
vuejs-datepicker | 1.6.2 |
外部からvuejs-datepickerを起動する
今回は分かりやすくボタンをクリックしてvuejs-datepickerを起動します。
HTML
<div id="app"> <vuejs-datepicker ref="picker"></vuejs-datepicker> <button @click="doOpen()">open</button> </div>
スクリプト
this.$refs.picker.showCalendar()
でvuejs-datepickerを起動します。
this.$refs.picker.close(true);
でvuejs-datepickerを閉じます。
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); } } } });