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>
相关推荐
文心快码BaiduComate9 分钟前
Comate Spec模式实践:电商视频自动化生产数据库eDB-MCP服务开发
前端·后端·架构
page_qiu14 分钟前
高并发&大数据量&毫秒级响应系统设计方案
java·前端·数据库·高并发·高响应
皮皮大人18 分钟前
agent设计系统-大模型意图识别
前端·人工智能
三维搬砖者21 分钟前
挑战AI辅助从零构建3D模型编辑器:01基于Vue3 + Three.js的现代化架构设计
前端·vue.js·github
GinoWi23 分钟前
Python 集合
前端·python
时光足迹24 分钟前
Tiptap之标注组件
前端·javascript·react.js
时光足迹34 分钟前
Tiptap 之自定义脚注组件
前端·javascript·react.js
时光足迹35 分钟前
Tiptap之造字组件
前端·javascript·react.js
张元清42 分钟前
React 表单处理:防抖校验、自动保存草稿与受控输入
前端·javascript·面试
Lee川1 小时前
React 首页秒开优化:用 KeepAlive 实现丝滑的页面缓存
前端·react.js