vue2.0 與 bootstrap datetimepicker的結合使用
1.在很多的專案中,我們都會用到日期外掛,然後當我在vue中使用bootstrap datetimepicker時發現雙向繫結不起作用了,bootstrap datetimepicker修改的日期不會同步到data中,下面看我的解決方案:
<template>
<div id="time">
<span class="select-box-title">選擇傳送時間:</span>
<input class="form-control select-box-input" v-model="time" type="text"
id="messageSendTime">
</div>
</div>
</template>
<script>
import $ from `jquery`
export default {
name: `time`,
data () {
return {
time: ``
}
},
methods: {
dateDefind () {
var d, s;
var self = this;
d = new Date();
s = d.getFullYear() + "-"; //取年份
s = s + (d.getMonth() + 1) + "-";//取月份
s += d.getDate() + " "; //取日期
s += d.getHours() + ":"; //取小時
s += d.getMinutes() + ":"; //取分
s += d.getSeconds(); //取秒
self.time = s;
//初始化
$(`#messageSendTime`).datetimepicker({
startDate: s,
minView: "hour", //選擇日期後,不會再跳轉去選擇時分秒
language: `zh-CN`,
format: `yyyy-mm-dd hh:ii:ss`,
todayBtn: 1,
autoclose: 1
});
//當選擇器隱藏時,講選擇框只賦值給data裡面的time
$(`#messageSendTime`).datetimepicker()
.on(`hide`, function (ev) {
var value = $("#messageSendTime").val();
self.time = value;
});
}
},
mounted: function () {
this.dateDefind();
}
}
</script>
<style scoped>
</style>
總結:其實也就是在datetimepicker的設定裡面新增一個事件,當選擇器hide時,講選擇框的值賦值給data裡面的time。