vue中控制input获取焦点

遇到一个任务需要实现直接点击内容来编辑,光标离开Input就保存内容

点击内容实现下面这种获取点击表格内input光标

我找了下,有ref和自定义指令两种,我选了比较适合的ref来操作

ref在循环外和循环中被获取到的是两种状态,当有多个ref相同时,通过this.$refs.ref获取循环外的ref只会获取到最后一个元素,在循环中会获取到所有相同ref元素的数组。

所以我给了所有input相同的ref再通过点击使用index来使目标input获取焦点:this.$refs.ref[index].focus(),这样就解决了最大的难题。

原文地址:https://www.cnblogs.com/sxsyhyk/p/12059012.html

时间: 2024-07-30 20:24:55

vue中控制input获取焦点的相关文章

Vue中控制更新的方式

一.  强制更新的实例方法   vm.$forceUpdate() 迫使 Vue 实例重新渲染.注意它仅仅影响实例本身和插入插槽内容的子组件,而不是所有子组件. 在没有留意到数组或对象的变更检测注意事项,或者你可能依赖了一个未被 Vue 的响应式系统追踪的状态. 然而,如果你已经做到了上述的事项仍然发现在极少数的情况下需要手动强制更新,那么你可以通过 $forceUpdate 来做这件事. 二.   通过 v-once 创建低开销的静态组件 渲染普通的 HTML 元素在 Vue 中是非常快速的,

在Vue中输入框自动获取焦点的三种方式

原生JS操作DOM使用mounted钩子函数,它表示页面一加载进来就执行函数里面的内容(和window.onload类似)1//html部分 编号:<input type="text" v-model='newId' id='inputId'>//vue对象var vm = new Vue({ el: '#app', data: { newId: '', }, // 注意:mounted钩子函数的名字不能随便取,而且它不能写在methods属性. mounted () {

解决:Vue中给input框手动赋值,视图却不更新

如下示例: <a-form layout="vertical"> <a-row :gutter="16"> <a-col :span="24"> <a-form-item label="名称"> <a-input v-model="helloForm.name" placeholder="请输入名称"/> </a-form

vue中让input框自动聚焦

created(){ this.changfouce(); }, methods: { //在vue生命周期的created()钩子函数进行的DOM操作要放在Vue.nextTick()的回调函数中, //因为created()钩子函数执行的时候DOM并未进行任何渲染,而此时进行DOM操作是徒劳的,所以此处一定要将DOM操作的JS代码放进Vue.nextTick()的回调函数中. changfouce(){ this.$nextTick((x)=>{ //正确写法 this.$refs.inpu

控制input标签中只能输入数字以及小数点后两位

js 代码如下: /* 控制input标签中只能输入数字 和小数点后两位 */ function checkNum(obj) { //检查是否是非数字值 if (isNaN(obj.value)) { obj.value = ""; } if (obj != null) { //检查小数点后是否对于两位http://blog.csdn.net/shanzhizi if (obj.value.toString().split(".").length > 1 &a

vue中,点击button按钮后,页面上的input框自动聚焦

需求:点击button按钮,录入成功后,页面上的input框自动聚焦,快速进行下一次录入,提高效率 开始尝试了几种方法都没有成功 一.首先想到的用vue指令 v-focus,然而没有成功 <Input v-model="book.isbnOrIssn" @change.native="_getIsbn" @blur="_getIsbn" :disabled="snDisabled" v-focus placeholder

vue中v-for出来的input如何实现双向绑定

vue中v-for出来的input如何实现双向绑定 vue v-for通过index动态绑定input输入框的数据 原文地址:https://www.cnblogs.com/hool/p/12571753.html

vue指令03---自动获取焦点(自定义指令)和过滤器的学习

1.1 自动获取焦点 在自动获取焦点的学习中涉及到了一个钩子函数 mounted(),它表示页面一加载进来就执行函数里面的内容,(和window.onload相似,这样有助于理解),mounted 钩子函数的名字不能随便更改,而且不能写在 methods 属性里面    方法1:  在vue中 通过操作 dom 元素来实现自动获取焦点(即使用原生JS实现) 代码如下: 1 <html lang="en"> 2 <head> 3 <title>自动获取

Vue_(基础)Vue中的事件

Vue.js中文文档 传送门 Vue@事件绑定 v-show:通过切换元素的display CSS属性实现显示隐藏: v-if:根据表达式的真假实现显示隐藏,如果隐藏,它绑定的元素都会销毁,显示的时候再重建: v-else:与v-if配对使用: v-elseif:与v-if配对使用: v-bind:属性绑定: v-cloak:可以隐藏未编译的 Mustache 标签直到实例准备完毕,也就是隐藏{{}}: Learn 一.event事件 二.v-show和v-if指令 三.键盘事件 四.v-bin