首页 web前端 js教程 Vue引用datepicker插件无法监听datepicker输入框的值怎么办

Vue引用datepicker插件无法监听datepicker输入框的值怎么办

May 23, 2018 pm 02:17 PM
监听

本文主要介绍了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: &#39;&#39;
    }
  },
  watch: {
    dateRange(newVal, oldVal) {
      console.log(newVal) // 选择日期后无法监听dateRange的改变
    }
  }
}
登录后复制

二、分析

查找资料发现:Vue实际上无法监听由第三方插件所引起的数据变化。因此上面的方法是行不通的。但是,Vue给我们提供的一个方法,它可以将任意数据转化为可以被Vue监听到的数据,他就是:vm.$set。

三、解决

以我用到的datepicker为例(jquery-daterangepicker)

data() {
    return {
      date: &#39;&#39;,
      beginDate: &#39;&#39;,
      endDate: &#39;&#39;
    }
  },
mounted () {
  $(&#39;.daterangepicker&#39;).dateRangePicker({
    autoClose: true,
    format: &#39;YYYY-MM-DD&#39;
  }).bind(&#39;datepicker-change&#39;, this.setDate) //插件自带方法,选择日期后触发回调
 },
methods: {
  setDate() {
    let datepicker = this.$refs.datepicker
    //这一步是关键,具体说明可以参见vue api手册
    this.$set(this.date, &#39;beginDate&#39;, datepicker.value)
    this.$set(this.date, &#39;endDate&#39;, datepicker.value)
    this.beginDate = this.date.beginDate.slice(0, 11)
    this.endDate = this.date.endDate.slice(-10)
  }  
 },
  watch: {
  // 这里就可以监听数据变化啦,可以愉快的选择日期了!
   beginDate(newVal, oldVal) {
     this.$emit( &#39;beginDateChange&#39;, newVal )
   },
   endDate(newVal, oldVal) {
     this.$emit( &#39;endDateChange&#39;, newVal )
   }
  }
登录后复制

相关推荐:

jQuery UI 日期选择器Datepicker详解

详解JS控件bootstrap datepicker的使用方法(图)

php调用My97DatePicker_PHP教程

以上是Vue引用datepicker插件无法监听datepicker输入框的值怎么办的详细内容。更多信息请关注PHP中文网其他相关文章!

本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热AI工具

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

Video Face Swap

Video Face Swap

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

热工具

记事本++7.3.1

记事本++7.3.1

好用且免费的代码编辑器

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

禅工作室 13.0.1

禅工作室 13.0.1

功能强大的PHP集成开发环境

Dreamweaver CS6

Dreamweaver CS6

视觉化网页开发工具

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)

监测iframe的滚动行为 监测iframe的滚动行为 Feb 18, 2024 pm 08:40 PM

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

手机被植入软件监听怎么解除 手机被植入软件监听怎么解除 Sep 22, 2023 pm 02:54 PM

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

oracle为什么找不到监听 oracle为什么找不到监听 Aug 04, 2023 pm 03:09 PM

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

如何解决Vue报错:无法正确使用v-on监听键盘事件 如何解决Vue报错:无法正确使用v-on监听键盘事件 Aug 17, 2023 pm 10:27 PM

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

无法连接到Oracle监听服务器的处理方案 无法连接到Oracle监听服务器的处理方案 Mar 06, 2024 pm 05:03 PM

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

Vue 中如何实现单击、双击、长按等事件监听? Vue 中如何实现单击、双击、长按等事件监听? Jun 25, 2023 am 11:36 AM

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

使用http.Server函数创建一个可以监听指定地址和端口的HTTP服务器对象 使用http.Server函数创建一个可以监听指定地址和端口的HTTP服务器对象 Jul 24, 2023 pm 01:05 PM

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

PHP如何实现持续监听Redis的消息订阅并发送推送通知? PHP如何实现持续监听Redis的消息订阅并发送推送通知? Sep 05, 2023 am 11:21 AM

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

See all articles