input type="date"でblurを使ったとき、javascriptで2回目実行以降で日付の差が
うまく取得できなくて困っています。
vue.js3を使用しています。
どなたかご教授お願いします。
html
1<div class="col-12"> 2 <label class="col-form-label">登録日: </label> 3 <input class="form-control-input" type="date" v-bind:value="startDate" v-on:blur="onDateChanged(1, $event.target.value)" /> 4 <label class="col-form-label">~</label> 5 <input class="form-control-input" type="date" v-bind:value="endDate" v-on:blur="onDateChanged(2, $event.target.value)" /> 6</div>
javascript
1onDateChanged(type, value) { 2 // type:1 はstartDateの時、type:2 はendDateの時 3 // valueは$event.target.valueをとっている 4 5 // 実際はblurでこのコードを発生させ、開始日、終了日期間の反転をしないようにしています。 6 // vueでバインドしているのですが、blurの時にthisで取れなかったので$event.target.valueを使用 7 // const startDate = luxon.DateTime.fromISO(value); // または this.startDate 8 // const endDate = luxon.DateTime.fromISO(this.endDate); // または value 9 10 11 let startDate = new Date("2021-06-16"); 12 let endDate = new Date("2021-06-15"); 13 14 let test = startDate - endDate; 15 16 // 1回目はtestがマイナスになる(endDateが小さいときはマイナスになるのが期待している結果) 17 // 2回目以降はtestがプラスになる 18},
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。