关于datetimepicker和vue v-model指令双向数据绑定失败的问题

关于datetimepicker和vue v-model指令双向数据绑定失败的问题

1,v-model监听用户输入事件以更新数据,并特别处理一些极端的例子。这是v-model指令的解释。

2,解决方案
通过日期控件隐藏时,通过vue.set方法赋值。代码如下
<code>
Vue.set(pricecollectorVue.rowTemplate,ev.target.id, $(ev.target).val());
</code>

3,问题再新

input使用v-model,再配上日历控件的时候,在控件选择好日期(时间)后,你再其它v-model的元素上输入内容时,刚才的控件内容被清空。再试一次,可能是错觉。

F5,选择日期,输入内容……

我靠,==!,这是发生了什么情况,再也不能平静的写代码和测试了。日期控件搞事?你是大爷,那换一个控件继续撸。

努力的coding

F5,选择日期,输入内容……

我靠,==!,这是人品的问题吧。

百度搜索关键词:vue datetimepicker

4,继续翻v-model的文档,结合源码分析。

v-model失效(双向数据绑定失败)的原因,是因为没有触发input,change事件,因为我们是通过DOM赋值过去的。知道原因后,那沿着问题一步步解决,给input的v-model添加lazy修饰符。日期控件选值后赋值给input后,触发change事件。重复上面的测试,结果:Fail!……
看人家案例,各种方式撸,感觉不好,删除重来。最后使用vue mounted事件看到苗头,代码如下。
<code>
methods: {
   dateDefind () {
    var self = this;
    //初始化
    $('#messageSendTime').datetimepicker({
     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();
  }

来自 <http://www.jb51.net/article/114386.htm>
</code>

继续深入改造。才有最终的解决方案

转载于:https://www.cnblogs.com/kengwfpzu920/p/7246067.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值