Vue引用datepicker插件无法监听datepicker输入框的值怎么办
本文主要介绍了Vue引用第三方datepicker插件无法监听datepicker输入框的值的解决,具有一定的参考价值,感兴趣的小伙伴们可以参考一下,希望能帮助到大家。
一、背景
在Vue项目中使用了第三方的datepicker插件,在选择日期后vue无法检测到datepicker输入框的变化
<label class="fl">日期:</label> <p class="input-wrapper fr"> <input class="daterangepicker" ref="datepicker" v-model="dateRange"/> <a href="javascript:;" rel="external nofollow" ></a> </p> export default { data() { return { dateRange: '' } }, watch: { dateRange(newVal, oldVal) { console.log(newVal) // 选择日期后无法监听dateRange的改变 } } }
二、分析
查找资料发现:Vue实际上无法监听由第三方插件所引起的数据变化。因此上面的方法是行不通的。但是,Vue给我们提供的一个方法,它可以将任意数据转化为可以被Vue监听到的数据,他就是:vm.$set。
三、解决
以我用到的datepicker为例(jquery-daterangepicker)
data() { return { date: '', beginDate: '', endDate: '' } }, mounted () { $('.daterangepicker').dateRangePicker({ autoClose: true, format: 'YYYY-MM-DD' }).bind('datepicker-change', this.setDate) //插件自带方法,选择日期后触发回调 }, methods: { setDate() { let datepicker = this.$refs.datepicker //这一步是关键,具体说明可以参见vue api手册 this.$set(this.date, 'beginDate', datepicker.value) this.$set(this.date, 'endDate', datepicker.value) this.beginDate = this.date.beginDate.slice(0, 11) this.endDate = this.date.endDate.slice(-10) } }, watch: { // 这里就可以监听数据变化啦,可以愉快的选择日期了! beginDate(newVal, oldVal) { this.$emit( 'beginDateChange', newVal ) }, endDate(newVal, oldVal) { this.$emit( 'endDateChange', newVal ) } }
相关推荐:
详解JS控件bootstrap datepicker的使用方法(图)
以上是Vue引用datepicker插件无法监听datepicker输入框的值怎么办的详细内容。更多信息请关注PHP中文网其他相关文章!

热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

Video Face Swap
使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热门文章

热工具

记事本++7.3.1
好用且免费的代码编辑器

SublimeText3汉化版
中文版,非常好用

禅工作室 13.0.1
功能强大的PHP集成开发环境

Dreamweaver CS6
视觉化网页开发工具

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)

热门话题











如何监听一个iframe的滚动,需要具体代码示例当我们在网页中使用iframe标签嵌入其他网页时,有时候需要对iframe中的内容进行一些特定的操作。其中一个常见的需求是监听iframe的滚动事件,以便在滚动发生时执行相应的代码。以下将介绍如何使用JavaScript来监听一个iframe的滚动,并提供具体的代码示例供参考。获取iframe元素首先,我们需要

手机被植入软件监听通过重启手机、检查手机设置、删除应用程序、使用安全软件和联系手机制造商或应用开发者等步骤解除。详细介绍:1、重启手机,按住手机的电源键,直到出现启动画面,然后选择“重启”选项;2、检查手机设置,确保没有未授权的应用程序正在运行;3、删除应用程序,在应用商店中搜索和删除未授权的应用程序;4、使用安全软件,安全软件可以帮助您检测和阻止可能危险的应用程序等等。

oracle找不到监听的原因:1、监听程序未启动,导致连接失败;2、监听程序配置错误,通过检查参数文件的配置,确保端口号和其他相关配置正确;3、防火墙设置问题,检查防火墙的配置,确保相关端口是开放的;4、主机名解析问题,检查主机名解析的配置,确保主机名解析正确;5、监听程序崩溃或者异常关闭,检查监听程序的日志文件;6、网络连接问题,因为网络故障,网络配置错误或者网络负载过重。

如何解决Vue报错:无法正确使用v-on监听键盘事件Vue.js作为一款流行的前端框架,可以帮助我们构建高效、灵活和可维护的web应用程序。其中,Vue提供了v-on指令用于监听DOM事件,方便我们处理用户操作。然而,在使用v-on监听键盘事件时,有时候会遇到一些报错,导致我们无法正确使用该功能。本文将带领大家解决这个问题,并提供一些代码示例。检查Vue版本

很抱歉,我无法提供直接的代码示例。不过我可以帮你写一篇关于无法连接到Oracle监听服务器的处理方案的文章。文章长度控制在1500字以内,以下是文章的内容:无法连接到Oracle监听服务器的处理方案在使用Oracle数据库时,有时候会遇到无法连接到Oracle监听服务器的问题。这种问题可能会导致数据库无法访问,影响到业务的正常运行。在面对这种情况时,我们需要

在Vue中,我们可以使用v-on指令来监听DOM元素的事件。但是,在实际开发中,我们可能需要监听更加复杂的事件,比如单击、双击、长按等,这时候使用v-on就显得有些力不从心了。那么,如何在Vue中实现这些事件的监听呢?本文就将为大家详细讲解。一、单击事件监听单击事件在应用中非常常见,Vue提供了v-on:click缩写@click

使用http.Server函数创建一个可以监听指定地址和端口的HTTP服务器对象在Go语言中,我们可以使用http.Server函数来创建一个可以监听指定地址和端口的HTTP服务器对象。http.Server函数接收一个http.Handler类型的参数,即我们可以传入我们自定义的处理程序来处理HTTP请求。下面是一个示例代码,展示如何使用http.Serv

PHP如何实现持续监听Redis的消息订阅并发送推送通知?随着互联网的快速发展,实时通知成为了很多应用程序的必要功能。而Redis作为一个高性能的键值存储数据库,其发布与订阅功能能够很好地满足这个需求。本文将介绍如何使用PHP实现对Redis消息的持续监听,并通过推送通知的方式将消息发送给用户。在开始之前,需要确保已经安装了Redis扩展,可以通过以下命令来
