iis服务器助手广告广告
返回顶部
首页 > 资讯 > 精选 >vue中的input框点击后不聚焦问题怎么解决
  • 371
分享到

vue中的input框点击后不聚焦问题怎么解决

2023-06-30 09:06:07 371人浏览 薄情痞子
摘要

今天小编给大家分享一下Vue中的input框点击后不聚焦问题怎么解决的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。input

今天小编给大家分享一下Vue中的input框点击后不聚焦问题怎么解决的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。

input框点击后不聚焦问题

废话不多说直接上代码

哪个地方要写input框  就直接把这一部分代码放上   里面双向绑定的值和事件换上自己定义的  

 <div class="item" @click.stop.prevent="inputPaentClick('input1')">        <input          ref="input1"          placeholder="请输入搜索关键词"          v-model="value"          @keydown.enter="searchs"        />      </div>

在方法里写上这些

  inputPaentClick(refName) {undefined      //解决input框双击才可以聚焦问题      this.$nextTick(() => {undefined        this.$refs[refName] && this.$refs[refName].focus();      });    }

只复制这些就行 input里绑定的事件以及要实现的方法 写在这个事件同级的地方   

vue input聚焦的坑

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

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

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

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

以上就是“vue中的input框点击后不聚焦问题怎么解决”这篇文章的所有内容,感谢各位的阅读!相信大家阅读完这篇文章都有很大的收获,小编每天都会为大家更新不同的知识,如果还想学习更多的知识,请关注编程网精选频道。

--结束END--

本文标题: vue中的input框点击后不聚焦问题怎么解决

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

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

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

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

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

  • 微信公众号

  • 商务合作