详解Vue.js和layui日期控件冲突问题解决办法


Posted in Javascript onJuly 25, 2019

事故还原:

今天在用layui的日期控件的时候发现一个问题,就是form表单中的日期选择之后,如果后面的输入框再输入值,这个日期就会自动清空,导致没办法提交,研究之后发现是vue的model绑定和layui冲突产生的,事实上是vue无法动态绑定layui中获取到的日期值,我们把那个v-model去掉就好,但是去掉的话就没办法动态绑定后台数据.

下面是html+vuejs+layui

lyui通过use方法获取到input的ID实现日期选择,但是vue的model绑定和layui是有冲突的.

对于这个情况大概处理思路是这样的:我们就不让他自动绑定了,把这个input的v-model属性去掉,然后再form表单提交之前利用jquery手动给这个属性赋值就好了.

<input type="text" id="beginTime" name="teacherLeave.leaveBegin" v-model="teacherLeave.leaveBegin" class="layui-input">开始时间
<input type="text" name="teacherLeave.reson" v-model="teacherLeave.reson" class="layui-input">


<script>
layui.use('laydate', function() {
  var laydate = layui.laydate;
  //执行一个laydate实例
  laydate.render({
    elem : '#beginTime' 
  });
 });
</script>

下面是具体处理的伪代码:

//模拟提交方法
saveOrUpdate: function () {
   //输出赋值之前的leaveBegin的值,为undefined
   //vm是vue.js页面的一个data对象,这部分是vue.js的知识,不用特别在意
   alert(vm.teacherLeave.leaveBegin);
   //通过jquery获取html页面input的value值,并将这个值(即时间日期)赋给js中data的vm的teacherLeave属性
   vm.teacherLeave.leaveBegin = $('#beginTime').val();
   //输出赋值之后的leaveBegin的值,作对比
   alert(vm.teacherLeave.leaveBegin);
   //获取的值不一样,说明赋值成功
   }

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
使用Json比用string返回数据更友好,也更面向对象一些
Sep 13 Javascript
jquery ajax传递中文参数乱码问题及解决方法说明
Feb 07 Javascript
yui3的AOP(面向切面编程)和OOP(面向对象编程)
May 01 Javascript
JavaScript实现点击自动选择TextArea文本的方法
Jul 02 Javascript
jQuery实现简单的列表式导航菜单效果代码
Aug 31 Javascript
jQuery Form 表单提交插件之formSerialize,fieldSerialize,fieldValue,resetForm,clearForm,clearFields的应用
Jan 23 Javascript
js获取Html元素的实际宽度高度的方法
May 19 Javascript
jquery制做精致的倒计时特效
Jun 13 Javascript
前端 Vue.js 和 MVVM 详细介绍
Dec 29 Javascript
JavaScript模拟文件拖选框样式v1.0的实例
Aug 04 Javascript
在小程序中集成redux/immutable/thunk第三方库的方法
Aug 12 Javascript
vue地址栏直接输入路由无效问题的解决
Nov 15 Javascript
turn.js异步加载实现翻书效果
Jul 25 #Javascript
js 实现ajax发送步骤过程详解
Jul 25 #Javascript
MockJs结合json-server模拟后台数据
Aug 26 #Javascript
微信小程序 调用微信授权窗口相关问题解决
Jul 25 #Javascript
mock.js模拟前后台交互
Jul 25 #Javascript
解决Vue打包后访问图片/图标不显示的问题
Jul 25 #Javascript
使用VueCli3+TypeScript+Vuex一步步构建todoList的方法
Jul 25 #Javascript
You might like
自制汽车收音机天线:收听广播的技巧和方法
2021/03/02 无线电
PHP FATAL ERROR: CALL TO UNDEFINED FUNCTION BCMUL()解决办法
2014/05/04 PHP
php ajax confirm 删除实例详解
2019/03/06 PHP
jQuery Jcrop插件实现图片选取功能
2011/11/23 Javascript
js 回车提交表单两种实现方法
2012/12/31 Javascript
js 单击式的下拉菜单效果实例
2013/08/13 Javascript
浏览器的JavaScript引擎的识别方法
2013/10/20 Javascript
JavaScript基于ajax编辑信息用法实例
2015/07/15 Javascript
JS实现超简洁网页title标题跑动闪烁提示效果代码
2015/10/23 Javascript
JavaScript匿名函数之模仿块级作用域
2015/12/12 Javascript
详解JavaScript for循环中发送AJAX请求问题
2020/06/23 Javascript
js css自定义分页效果
2017/02/24 Javascript
浅谈原型对象的常用开发模式
2017/07/22 Javascript
vue实现页面加载动画效果
2017/09/19 Javascript
vue+swiper实现组件化开发的实例代码
2017/10/26 Javascript
使用Object.defineProperty如何巧妙找到修改某个变量的准确代码位置
2018/11/02 Javascript
Vue入门学习笔记【基本概念、对象、过滤器、指令等】
2019/04/13 Javascript
vue子组件改变父组件传递的prop值通过sync实现数据双向绑定(DEMO)
2020/02/01 Javascript
解决vue-cli@3.xx安装不成功的问题及搭建ts-vue项目
2020/02/09 Javascript
使用eslint和githooks统一前端风格的技巧
2020/07/29 Javascript
[51:06]2018DOTA2亚洲邀请赛3月29日 小组赛A组 KG VS Liquid
2018/03/30 DOTA
Python开发常用的一些开源Package分享
2015/02/14 Python
Python实现短网址ShortUrl的Hash运算实例讲解
2015/08/10 Python
Python文件的读写和异常代码示例
2017/10/31 Python
Django基于ORM操作数据库的方法详解
2018/03/27 Python
python+numpy按行求一个二维数组的最大值方法
2019/07/09 Python
python 获取sqlite3数据库的表名和表字段名的实例
2019/07/17 Python
如何使用Cython对python代码进行加密
2020/07/08 Python
python自动化测试三部曲之request+django实现接口测试
2020/10/07 Python
美国在线健康和美容市场:Pharmapacks
2018/12/05 全球购物
党员民主评议自我评价
2014/10/20 职场文书
师德标兵先进事迹材料
2014/12/19 职场文书
解约证明模板
2015/06/19 职场文书
2015年中学总务处工作总结
2015/07/22 职场文书
一年之计:2019年下半年的计划
2019/05/07 职场文书
解决thinkphp6(tp6)在状态码500下不报错,或者显示错误“Malformed UTF-8 characters”的问题
2021/04/01 PHP