iis服务器助手广告广告
返回顶部
首页 > 资讯 > 前端开发 > JavaScript >vue@input和@click的区别及说明
  • 388
分享到

vue@input和@click的区别及说明

vue@inputvue@click@input和@click区别 2022-11-13 18:11:24 388人浏览 独家记忆
摘要

目录Vue @input和@click的区别@input 一般用于监听事件@click 事件触发事件vue中input聚焦及坑点击按钮,使某个 input 框聚焦加载页面时自动聚焦【

vue @input和@click的区别

@input 一般用于监听事件

只要输入的值变化了就会触发input

   <input 
        :type="type" 
        :value="value" 
        :placeholder="placeholder" 
        :name="name" 
        @input="$emit('input',$event.target.value)"
    />

@click 事件触发事件

<input type="text" @click="clickFn">

vue中input聚焦及坑

点击按钮,使某个 input 框聚焦

1、给 input 加个 ref 属性,写个 button 按钮并加个点击事件

<input type="text" ref="input">
<button @click="onFocus"></button>

2、onFocus方法:

onFocus() {
    this.$refs.input.focus()
  }

加载页面时自动聚焦

mounted() {
    this.$nextTick(() => {
      this.$refs.input.focus()
    })
  },

【坑】

如果input框是隐藏的,点击某个元素让input框显示,同时聚焦,这个时候聚焦效果就不会实现。

解决办法:

点击元素的时候用个变量做标识,然后再watch里面去监听这个变量,通过判断这个变量的值来聚焦,

可以写在setTimeout里面,或者写在nextTick里面即可解决问题;代码如下

watch: {
    isClick(){
      if(this.isClick == false) {
        setTimeout(() => {
          this.$refs.input.focus()
        }, 100);
        // this.$nextTick(() => {
        //   this.$refs.input.focus()
        // });
      }
    }
  }

以上为个人经验,希望能给大家一个参考,也希望大家多多支持编程网。

--结束END--

本文标题: vue@input和@click的区别及说明

本文链接: https://www.lsjlt.com/news/170079.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作