Element UI输入框focus()方法自动获取焦点失败处理方法

这篇具有很好参考价值的文章主要介绍了Element UI输入框focus()方法自动获取焦点失败处理方法。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

Element UI输入框focus()方法自动获取焦点失败处理方法

​ 本来想通过自定义事件触发输入框,并获取焦点,但是使用官方提示的focus()方法一直失效

后来百度了半天,终于找到一个比较好的处理方法。

Element UI输入框focus()方法自动获取焦点失败处理方法

先放对比代码:

  • 刚开始的代码
<el-input
    v-if="isFormOpened"
    v-model="scope.row.name"
    @blur="updateLib">
</el-input>

<el-button 
    type="primary"
    @click="openUpdateForm">
</el-button>


//触发方法
openUpdateForm(){
            this.isFormOpened = true
            this.$refs.inputRef.focus()
        },
  • 后来修改后的代码
<el-input
    v-if="isFormOpened"
    v-model="scope.row.name"
    ref="inputRef"
    @blur="updateLib(scope.row.id,scope.row.name)">
</el-input>

<el-button 
    type="primary"
    @click="openUpdateForm(scope.row.name)">
</el-button>


//触发方法
openUpdateForm(){
            this.isFormOpened = true
            setTimeout(()=>{
                this.$refs.inputRef.focus()
            },0)
        },

完美解决
Element UI输入框focus()方法自动获取焦点失败处理方法

总结:

百度查了半天,终于找到了原因

  • 问题原因:渲染组件需要时间,并且时间没有JS执行的快;所以获取不到

  • 解决办法:

    • 第一种利用setTimeout ,也就是我上面使用的方法
     setTimeout(()=>{
       this.$refs.input1.focus();
    },0)
    
    • 第二种:利用 this.$nextTick (Dom更新完毕再执行回调函数)
    this.$nextTick(()=>{
        this.$refs.input1.focus();
    })
    

PS:转载请标明出处!文章来源地址https://www.toymoban.com/news/detail-430462.html

到了这里,关于Element UI输入框focus()方法自动获取焦点失败处理方法的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 完美解决element-ui-plus按钮点击后不会自动失去焦点

    最近新项目采用了Vue3+element-ui-plus,发现按钮点击后,都不会失去焦点,看着很不舒服,结合网上的解决方法,自己优化了下,采用指令方式,感觉很方便: 1 建立btn指令 2 main.js中注册 3 在按钮中使用指令 然后就搞定了,是不是很方便~

    2024年02月11日
    浏览(28)
  • 【Android Audio Focus 音频焦点】

    Android 中的音频焦点(Audio Focus)是一种机制,用于管理应用程序之间的音频资源竞争。当多个应用程序同时请求使用音频设备时,通过音频焦点机制可以确保最终用户的体验不受影响。 两个或两个以上的 Android 应用可同时向同一输出流播放音频。系统会将所有音频流混合在

    2024年02月03日
    浏览(31)
  • Element ui plus Form 表单验证失败后,自动滚动到失败的位置(validate)(scrollToField)

    对于表单验证失败后,想自动定位到失败的位置  1.首先发起表单验证,失败后拿到组件失败的回调参数 valid:返回一个boolean类型 ValidateFieldsError:返回失败的组件信息,如下  当valid为false时,利用scrollToField() 滚动到相应的错误位置处 代码如下:

    2024年02月11日
    浏览(23)
  • VUE3安装element ui 失败的原因及解决方法

    在VUE3开发环境中想安装element ui前端库,执行\\\"npm install element-ui --save\\\"命令进行安装时,出现以下错误信息: element-ui不适配vue3,官方已将vue3版本的更新为element-plus. Element-ui适用于Vue2框架 Element-plus适用于Vue3框架 在VUE3的开发环境下安装element-plus,执行如下命令即可:

    2024年02月13日
    浏览(29)
  • Element Plus Dialog中无法获取表单焦点

    在Dialog组件中,默认插槽是Form表单,表单子项是input,发现Dialog组件弹出时无法获取input焦点。 需要使用俩次nextTick 使用定时器setTimeout也可以 input获取焦点老生常谈的问题,直接一个nextTick完活!这里不行的原因是Dialog里面嵌套是Form表单,Form表单又嵌套的input组件,所以需要俩

    2024年02月12日
    浏览(27)
  • [vue+element-ui] form中输入框无法输入问题的解决方法

    目录 一.问题发现: 二.正确案例与错误原理: 三.问题解决 笔者在制作登录页面前端时使用elementui+vue技术,发现输入框无法输入任何内容。 在csdn上查阅很多文章后发现都无法解决,于是去elementui官网进行反复查看才发现问题所在。 最终发现问题是input标签中v-model写的不恰

    2024年02月02日
    浏览(35)
  • 关于element ui 安装失败的问题解决方法、查看是否安装成功及如何引入

    执行 npm i element-ui -S 报错 原因:npm版本太高 报错信息: 解决办法: 使用命令:  npm install --legacy-peer-deps element-ui --save 引入: 在main.js文件中引入 执行 npm install element-plus --save 报错 解决办法: 使用命令: npm install element-plus --save --legacy-peer-deps   引入: 在main.js文件中引入

    2024年02月15日
    浏览(78)
  • Vue + el-ui table 内嵌 input 调用 focus 方法无效;this.$refs.xxx.focus()方法无效

    1、先说需求 a.在表格编辑态的时候,可以在①处敲击“回车键”,光标能跳转到②处 b.表格可以在浏览态和编辑态切换,用v-show来实现的编辑和浏览 2、代码片段(这种方式不生效)         页面显示代码: methods方法: 3、页面效果 如图,当在第一行 9999 处敲击回车之后

    2024年02月05日
    浏览(35)
  • Element UI表格内容双击可编辑,失去焦点提交内容

    需求就是双击列表中的某一cell,获取焦点时单元格变成input编辑框,失去焦点时如果内容有更改就触发修改的接口,如果内容无更改的话,就不触发。 1.首先给列表绑定双击事件 2.给单元格绑定 className 的回调方法,目的是获取选中单元格的行和列的index 相关代码如下: 视图

    2024年02月04日
    浏览(28)
  • element input组件自动失去焦点问题解决

    最近在 Vue3 + ElementPlus 中,使用 el-input 组件时,如果设置了 v-model ,那么在每次改变内容后后,input 会自动失去焦点,这样会导致用户无法输入多个字符。 如上图所示,配置项的 Name 和 Code 都是使用 el-input 组件 v-for 遍历渲染的,都绑定了 v-model ,而 :key 绑定的是对应的 Co

    2024年02月01日
    浏览(44)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包