vue3+ts手动获取el-input输入框焦点

1,285 阅读1分钟

最近项目中在做评论的时候,需要自动滚动到评论框,并且让评论框自动聚焦,这就需要手动触发输入框的 focus 状态。 原理其实很简单,Element 已经提供了 focus 方法,但是文档并没有写明如何去调用,经过 Google 大法,算是找到了解决办法。

vue2写法

给 el-input 标签 加上 ref 属性

<el-input v-model="input" placeholder="请输入内容" ref="input"></el-input>

利用 ref 获取 el-input 并调用 focus 方法

this.$refs.input.focus();

vue3+ts写法

父组件引入el-input组件

<el-row class="cron-row">
    <el-input ref="myRef" v-model="size" placeholder="Please input" />
 </el-row>

在script代码块中代码如下

const myRef = ref()

const change = ()=>{
  myRef.value.focus()
}