在上一篇中,使用vue.set解决了问题,但只是向后台提交数据时StartTime与EndTime两个字段有值,当修改其他字段,触发v-model重新绑定数据时,StartTime与EndTime两个字段的值又消失了,并没有很好的解决问题。
我又在网上找了另一种方法,(ps:原博客地址找不了)通过隐藏datetimepicker 的同时绑定数据,解决了消失的问题,原理还没理解清楚,暂且先把代码放上来。
var editVM = new Vue({
el: "#Edit_VM",
data:{
activity: {
StartTime: '',
EndTime: '',
},
},
methods: {
setDateTime: function () {
$("#StartTime").datetimepicker({
autoclose: true,
todayBtn:true,
todayHighLight: true,
language: 'zh-CN'
});
$("#EndTime").datetimepicker({
autoclose: true,
todayBtn: true,
todayHighLight: true,
language: 'zh-CN'
});
//隐藏的同时绑定数据
$("#StartTime").datetimepicker().on('hide', function (ev) {
var startTime = $("#StartTime").val();
_self.StartTime = startTime;
});
$("#EndTime").datetimepicker().on('hide', function (ev) {
var endTime = $("#EndTime").val();
_self.EndTime = endTime;
});
}
}