vue3+element-plus el-input 自动获取焦点

虽然element有提供input的autofocus属性,但是当我们第二次进入页面就会发现autofocus已经不再生效,需要通过onMounted去触发input的focus解决这个问题。

1.先给el-input绑定一个ref:
<el-input ref="inputRef" v-model="inpValue" clearable />

2.定义一个函数去触发这个input的focus:
const focusInput = () => {
nextTick(() => {
inputRef.value.focus()
})
}

3.最后通过onMounted去触发这个函数:
onMounted(() => {
focusInput()
})

整体代码就是:

html 复制代码
<template>
  <div class="use_wrap">
    <div class="content">
      <el-input ref="inputRef" v-model="inputValue" placeholder="请输入" clearable />
    </div>
  </div>
</template>

<script lang="ts" setup>
import { ref, onMounted, nextTick } from 'vue'
const inputRef = ref()
const inputValue = ref('')
onMounted(() => { focusInput() })
const focusInput = () => {
  nextTick(() => {
    inputRef.value.focus()
  })
}
</script>
相关推荐
文阿花几秒前
Echarts实现自动旋转柱状3D扇形图
前端·3d·echarts
sp421 分钟前
使用 Vite 与 NativeScript
前端
zhedream3 分钟前
从模糊到清晰:一次组件重构里的开发哲学
vue.js
前端Hardy7 分钟前
GitHub 爆火!Three.js + React + ECharts 打造最强数据大屏
前端·javascript
如果超人不会飞8 分钟前
TinyRobot AI 对话组件库全组件使用指南
前端·vue.js
lichenyang45310 分钟前
ArkTS 资源与暗色模式:为什么我手机切暗色,App 内容区却不变
前端
老王以为27 分钟前
Claude Code 的产品哲学:当价值观成为架构
前端·claude·vibecoding
程序员黑豆31 分钟前
AI全栈开发 - Java:变量
java·前端·ai编程
tedcloud12334 分钟前
HyperFrames部署教程:用HTML生成MP4视频
前端·数据库·人工智能·html·音视频
江米小枣tonylua41 分钟前
真多线程!Bun作者要给JS大手术
前端