• Q1. el-input 获取焦点
  • Q2. dialog中的 el-input获取焦点
  • Q3. dialog中有table table中有 el-input 要获取焦点

一个宗旨: this.$refs.XXX.$el.querySelector('input').focus();

answer 1

 <el-input  ref="mark"></el-input>

使用时直接 (对于多个el-input也是一样的)

this.$refs.mark.$el.querySelector('input').focus();

answer 2

需要在dialog打开时候让input获取焦点

<el-dialog
title="销售员"
:visible.sync="customerVisible"
@open="customerDialogOpen" // 这个是重点
>
<el-input ref="customerInput" ></el-input>
</el-dialog>
//销售员 dialog 打开时 获取焦点
customerDialogOpen() {
this.customerVisible = true
this.$nextTick(function () {
this.$refs.customerInput.$el.querySelector('input').focus();
});
},

answer 3

 <el-dialog title="结账" :visible.sync="sumVisible"
:close-on-click-modal="false"
@open="sumDialogOpen">
<el-table
:data="tableData"
size="mini"
style="width: 100%">
<el-table-column
prop="code"
label="编号"
width="50">
</el-table-column>
<el-table-column
prop="way"
label="结算方式"
width="80">
</el-table-column>
<el-table-column
label="金额">
<template slot-scope="scope">
<el-input size="mini" :ref="scope.row.ref" //看这里看这里
@keyup.up.native="up2pre(scope.row.ref)"
@keyup.down.native="down2next(scope.row.ref)">
</el-input>
</template>
</el-table-column>
...
</el-table>
</el-dialog>
tableData : [
{
code: '01',
way: '现金',
disabled: true,
ref: 'input1',
}, {
code: '02',
way: '银行卡',
disabled: false,
ref: 'input2',
}
]

下面就清楚了吧,跟上面2 的套路一样

//结算 dialog 打开时 获取焦点
sumDialogOpen() {
this.sumVisible = true
this.$nextTick(function () {
this.$refs.input2.$el.querySelector('input').focus();
});
},

至于多个input之间焦点如何切换,

down2next(e) {
let input
switch (e) {
case "input1":
input = `input2`
break
case "input2":
input = `input3`
break
}
this.$refs[input].$el.querySelector('input').focus();
},

各位兄台有没有便捷的方法?总感觉这样写的好蠢 啊,:smile:

作者:小学生的博客
链接:https://www.jianshu.com/p/63bfbbbd1e82
來源:简书
简书著作权归作者所有,任何形式的转载都请联系作者获得授权并注明出处。

elementUI el-input focus的更多相关文章

  1. input:focus

    input:focus,select:focus,textarea:focus{outline:-webkit-focus-ring-color auto 5px;outline-offset:-2p ...

  2. ios下input focus弹出软键盘造成fixed元素位置移位

    正常状态下 input focus软键盘弹出时 问题描述: 头部结构fixed,滚动到下部内容区域,input.textarea等focus弹出软键盘时,头部位置偏移被居中(该问题ios7 beta3 ...

  3. 移动端解决input focus后键盘弹出,高度被挤压的问题

    //解决弹出键盘页面高度变化bug var viewHeight = window.innerHeight; //获取可视区域高度 $("input").focus(functio ...

  4. 解决IOS safari在input focus弹出输入法时不支持position fixed的问题

    该文章为转载 我们在做移动web应用的时候,常常习惯于使用position:fixed把一个input框作为提问或者搜索框固定在页面底部.但在IOS的safari和webview中,对position ...

  5. elementUi中input输入字符光标在输入一个字符后,光标失去焦点

    elementUi中input输入字符光标在输入一个字符后,光标就退出,无法输入需要再次聚焦然后输入一个字符又再次退出 首先,用elementUi正常用v-model绑定输入的值是不会造成光标退出的, ...

  6. vue2.0 element-ui中input的@keyup.native.enter='onQuery'回车查询刷新整个表单的解决办法

    项目中用的element-ui是v1.4.3版本 实现的功能是在input中输入查询的名称,按下键盘回车键,可以查询表格中数据 问题是,我输入名称,按下回车,会整个表单刷新,搜索条件也被清空:代码如下 ...

  7. 解决IE与FF 中 input focus 光标移动在最后的方案

    只要把input元素的id传进来即可 function moveCursor(id)  { var id = document.getElementById(id); id.focus(); var  ...

  8. elementUI 设置input的只读或禁用

    只读:readonly 在data里定义:readonly: true, 然后在input框里加上readonly就可以了. 禁用:disabled 在data里定义:edit: true, 然后在i ...

  9. element-ui 设置input的只读或禁用

    只读:readonly 在data里定义:readonly: true, 然后在input框里加上readonly就可以了. 禁用:disabled 在data里定义:edit: true, 然后在i ...

  10. input.focus()在IOS上失效的解决方法

    之前在iphone上做开发时遇到一个问题,在一般的正常浏览器上输入以下代码: 1 2 var apple = document.getElementById('abc'); apple.focus() ...

随机推荐

  1. 自建Socket转发,使用远程桌面(mstsc)连接家中电脑

    网络结构图如下: 开题先放图,一切全靠编哈哈. 进入正题! 如图所示,我们需要一个公网服务器,利用公网服务器将内网的数据进行转发,从而实现两个内网服务器的通讯.没错,这不是p2p,原本想做成p2p,因 ...

  2. C#.NET 中的 Timer 计时器及 3 种使用方法

    定时器是系统常用的组件之一,程序员可以根据自己的需求定制一个定时器类型,也可以使用.net内建的定时器类型.在.net中一共为程序员提供了3种定时器: System.Windows.Forms.Tim ...

  3. UWP: 妙用自定义 Action 以简化并重用代码

    相信每一位 App 开发者,在开发过程中,都会有一些代码被反复用到,比如:复制文本,打电话,发短信,发邮件,给应用添加评论等等.在项目之间复制这些代码段,实在不是一个好办法,所以大家可能会把这些代码放 ...

  4. Java_Properties

    Java_Properties类 Hashtable与HashMap区别 主要:Hashtable线程安全,同步,效率相对低下 HashMap线程不安全,异步,效率高 父类:Hashtable父类是D ...

  5. 4.5 explain 之 ref

    一.说明 显示索引的哪一列被使用了,如果可能的话,是一个常数.哪些列或常量被用于查找索引上的值. 二.示例 a. b. c. 关注我的公众号,精彩内容不能错过

  6. awk 详解

    AWK 简介 AWK是一种优良的文本处理工具.它不仅是 Linux 中也是任何环境中现有的功能最强大的数据处理引擎之一.这种编程及数据操作语言(其名称得自于它的创始人 Alfred Aho .Pete ...

  7. Laravel5.5 数据库迁移:创建表与修改表

    数据库迁移是数据库的版本管理,要使用数据库迁移,需要在.env文件中连接好数据库(不多说).laravel本身已经存在user表和password_resets表的迁移了,因此,执行 php arti ...

  8. JavaScript解析机制与闭包原理实例详解

    js代码解析机制: js代码解析之前会创建一个如下的词法环境对象(仓库):LexicalEnvironment{ } 在扫描js代码时会把: 1.用声明的方式创建的函数的名字; 2.用var定义的变量 ...

  9. #WEB安全基础 : HTML/CSS | 0x4HTML模块化

    想让你的网页变得整洁吗?找我就对了,当然你会认识几个新元素,和它们交朋友吧! 我帮你联系一下这几个新元素,这样交朋友就变得简单了 images里放着图片   以下是index.html的代码 < ...

  10. 《JavaScript高级程序设计》笔记:在HTML中使用Javascript(二)

    script元素 向html页面中插入js的主要方法就是使用<script>元素.使用<script>元素的方式有两种:直接在页面中嵌入js代码和包含外部js文件.直接在页面中 ...