当前位置:首页 > VUE

vue 实现 input focus

2026-03-07 22:51:33VUE

实现 input focus 的方法

在 Vue 中实现 input 元素的 focus 可以通过多种方式完成,以下是几种常见的方法:

使用 ref 和 $refs

通过 ref 属性获取 DOM 元素,然后在 mounted 或 methods 中调用 focus 方法。

<template>
  <input ref="inputRef" />
</template>

<script>
export default {
  mounted() {
    this.$refs.inputRef.focus();
  }
}
</script>

使用自定义指令

可以创建一个自定义指令来自动聚焦 input 元素。

<template>
  <input v-focus />
</template>

<script>
export default {
  directives: {
    focus: {
      inserted(el) {
        el.focus();
      }
    }
  }
}
</script>

使用 Vue 3 的 Composition API

在 Vue 3 中,可以使用 Composition API 和 ref 实现 input focus。

<template>
  <input ref="inputRef" />
</template>

<script>
import { ref, onMounted } from 'vue';

export default {
  setup() {
    const inputRef = ref(null);

    onMounted(() => {
      inputRef.value.focus();
    });

    return {
      inputRef
    };
  }
}
</script>

动态触发 focus

通过方法动态触发 input 的 focus,适用于需要条件触发的情况。

<template>
  <input ref="inputRef" />
  <button @click="focusInput">Focus Input</button>
</template>

<script>
export default {
  methods: {
    focusInput() {
      this.$refs.inputRef.focus();
    }
  }
}
</script>

结合 v-model 使用

在需要结合数据绑定时,可以通过 v-model 和 ref 实现 focus。

vue 实现 input focus

<template>
  <input v-model="inputValue" ref="inputRef" />
</template>

<script>
export default {
  data() {
    return {
      inputValue: ''
    };
  },
  mounted() {
    this.$refs.inputRef.focus();
  }
}
</script>

注意事项

  • 确保 DOM 元素已经渲染完成后再调用 focus 方法,通常在 mounted 生命周期钩子中执行。
  • 在 Vue 3 中,使用 Composition API 时,确保在 onMounted 钩子中调用 focus。
  • 自定义指令可以复用,适合在多个地方需要自动聚焦的场景。

以上方法适用于大多数 Vue 项目,可以根据具体需求选择合适的方式实现 input focus。

标签: vueinput
分享给朋友:

相关文章

vue原型实现

vue原型实现

Vue 原型实现的关键点 Vue.js 的原型系统是其响应式机制的核心部分,通过原型链实现数据的动态绑定和依赖收集。以下是实现 Vue 原型的主要技术要点。 数据响应式原理 Vue 通过 Objec…

vue权限实现

vue权限实现

Vue 权限实现方案 基于路由的权限控制 通过路由守卫实现权限验证,在路由配置中添加meta字段标记权限要求。在router.beforeEach中检查用户权限与路由要求的匹配情况。 // rout…

vue实现登出

vue实现登出

实现Vue登出功能 登出功能通常涉及清除用户会话、令牌或本地存储的数据,并重定向到登录页面。以下是几种常见的实现方式: 清除用户令牌和状态 在Vuex的store中定义一个logout mutati…

vue翻页实现

vue翻页实现

Vue翻页实现方法 基础分页组件实现 使用v-for和计算属性实现基础分页逻辑: <template> <div> <ul> <li…

实现vue cli

实现vue cli

安装 Vue CLI 确保系统中已安装 Node.js(版本建议 12.x 或更高)。通过 npm 全局安装 Vue CLI: npm install -g @vue/cli 安装完成后验证版本:…

vue搜索实现

vue搜索实现

Vue 搜索功能实现方法 基于计算属性的搜索 在 Vue 中可以通过计算属性实现简单的搜索功能。这种方式适合小型数据集,利用 JavaScript 的 filter 方法进行筛选。 data() {…