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

 更新时间:2022年10月25日 10:03:35   作者:周家大小姐.  
这篇文章主要介绍了vue @input和@click的区别及说明,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教

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()
        // });
      }
    }
  }

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • vant-list上拉加载onload事件触发多次问题及解决

    vant-list上拉加载onload事件触发多次问题及解决

    这篇文章主要介绍了vant-list上拉加载onload事件触发多次问题及解决方案,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-01-01
  • Vue实现购物小球抛物线的方法实例

    Vue实现购物小球抛物线的方法实例

    这篇文章主要给大家介绍了Vue实现购物小球抛物线的方法实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-11-11
  • vue3使用Pinia的store的组件化开发模式详解

    vue3使用Pinia的store的组件化开发模式详解

    这篇文章主要介绍了vue3使用Pinia的store的组件化开发模式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2025-04-04
  • 基于Vue3+Element Plus 实现多表单校验demo

    基于Vue3+Element Plus 实现多表单校验demo

    表单校验在日常的开发需求中是一种很常见的需求,通常在提交表单发起请求前校验用户输入是否符合规则,通常只需formRef.value.validate()即可校验,本文给大家介绍基于Vue3+Element Plus 实现多表单校验demo,感兴趣的朋友一起看看吧
    2024-06-06
  • vue cli使用iview自定义主题遇到的坑及解决

    vue cli使用iview自定义主题遇到的坑及解决

    vue cli使用iview自定义主题遇到的坑及解决方案,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-04-04
  • .vue 组件打包成 .js的操作方法

    .vue 组件打包成 .js的操作方法

    这篇文章主要介绍了.vue 组件打包成 .js的操作方法,本文给大家介绍的非常详细,感兴趣的朋友跟随小编一起看看吧
    2024-07-07
  • 解决Vue3 echarts v-show无法重新渲染的问题

    解决Vue3 echarts v-show无法重新渲染的问题

    这篇文章主要介绍了Vue3 echarts v-show无法重新渲染的问题,本文通过示例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2023-09-09
  • Vue3图片上传报错:Required part ‘file‘ is not present.的原因及解决方法

    Vue3图片上传报错:Required part ‘file‘ is not present.的原因及解决方法

    这篇文章主要介绍了Vue3图片上传报错:Required part ‘file‘ is not present.的原因及解决方法,文中通过代码示例讲解的非常详细,对大家解决问题有一定的帮助,需要的朋友可以参考下
    2024-09-09
  • 使用async-validator编写Form组件的方法

    使用async-validator编写Form组件的方法

    本篇文章主要介绍了使用 async-validator 编写 Form 组件的方法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-01-01
  • vue移动端设置全屏背景的项目实践

    vue移动端设置全屏背景的项目实践

    本vue移动端项目设置全屏背景,关键是要找对文件,然后添加background属性即可,文中通过示例代码介绍的非常详细,需要的朋友们下面随着小编来一起学习学习吧
    2023-08-08

最新评论