你可以通过给el-input组件添加一个ref属性来引用它,在Vue组件的JavaScript部分使用this.$refs来访问这个DOM元素。因为el-input是一个组件,它内部封装了一个input元素,但在大多数情况下,直接使用this.$refs.yourRefName.focus()就足够了,因为Element UI的el-input组件内部会处理聚焦的逻辑。
1. 需要聚焦的el-input输入框设置ref值: ref="unameInput" (unameInput为自己任意命名) 2. 在mounted生命周期使用this.$nextTick设置自动聚焦: mounted(){ // 页面渲染完成时自动聚焦到用户名输入框,ref="unameInput" this.$nextTick(() => { this.$refs.unameInput.focus(); }) } 回车自动聚焦下一个...
<el-input v-model="filterPlanName" ref="autoFocus" ></el-input> 1. this.$nextTick((_) => { this.$refs.autoFocus.focus(); }) 1. 2. 3. 参考: [element-ui]自动获取el-input的焦点
【普通<input>的自定义指令使用】:v-"+指令名" //index.vue<input v-focus placeholder="因为有v-focus,所以我聚焦了" /> 二、【<el-input>的自定义指令操作】:先在入口文件注册一个全局自定义指令 //main.jsVue.directive('fo', { inserted (el, binding, vnode) {//聚焦元素el.querySelector('inpu...
如果使用el-input需要做如下改进 <el-input v-focus></el-input> 1. import Vue from 'vue' Vue.directive('focus', { inserted(el, binding, vnode) { el.querySelector('input').focus() }, }) 1. 2. 3. 4. 5. 6. 7. 参考 在vue项目中引用element-ui时 让el-input 获取焦点的方法...
单一 的重复获取焦点 <el-input placeholder="请输入内容" ref="InputWarp" v-model="input" clearable> </el-input> <el-row> <el-button @click="handler">默认按钮</el-button> </el-row> <script> export default { data() { return { ...
el-input自动获取焦点 <el-inputref="tableHeadFilterInp"/>this.$nextTick(()=>{this.$refs.tableHeadFilterInp.focus()})
前端主要框架为Vue.js,在页面使用组件库element-ui的el-input、el-select、el-autocomplete等元件时,想要在表单验证为空时,使空值的元件获取焦点高亮。效果如下图所示: 解决思路 通过查看网上的相关问题和官方文档,发现在Vue中,可以通过$ref.ref属性名来访问DOM元素。又通过查看HTML的说明文档得知,通过focus()方法可...
虽然element有提供input的autofocus属性,但是当我们第二次进入页面就会发现autofocus已经不再生效,需要通过onMounted去触发input的focus解决这个问题。 1.先给el-input绑定一个ref: 2.定义一个函数去触发这个input的focus:const focusInput = () => { nextTick(() => { inputRef.value.focus() }) } ...
Vue中使input和el-input自动获取焦点的处理 一、【普通<input>的自定义指令操作】:先在入口文件注册一个全局自定义指令 //main.jsVue.directive('focus', {inserted (el, binding, vnode) {//聚焦元素el.focus() } }) 【普通<input>的自定义指令使用】:v-"+指令名"...