在使用element-ui+vue框架开发时,经常会遇到提交表单时验证填写项目,根据设定的必填选项对提交的内容做判断,并且自动聚焦定位到相对应的文本框上,那么应该如何来实现呢?今天就和大家一起分享关于element-ui+vue框架中input文本框自动获取焦点聚焦的实现方法。
方法一:注册全局的自定义指定值。
1、在script中写directives,注册一个全局的自定义指定 v-focus
directives: {
focus: {
inserted: function(el) {
el.querySelector("input").focus();
}
}
},2、在input框直接使用
<el-input ... v-focus > </el-input>
方法二:输入框设置ef。
1、给输入框设置一个ref
<el-input ref="saveTagInput" >
2、在需要的时候操作ref获取焦点
this.$refs.saveTagInput.focus();
另外还有vue输入框自动获取焦点的三种方式:
方式一:原生JS操作DOM
<template>
<div class="focusDemo">
<input type="text" v-model="username" id='inputId'/>
</div>
</template>
<script>
export default {
data () {
return {
username: ''
}
},
mounted () {
document.getElementById('inputId').focus()
}
}
</script>方式二:ref方式实现
<template>
<div class="focusDemo">
<input ref="inputName" type="text" v-model="username" />
</div>
</template>
<script>
export default {
data () {
return {
username: ''
}
},
mounted () {
this.$nextTick(() => {
this.$refs.inputName.focus()
})
}
}
</script>方式三:使用自定义指令
main.js中
<template>
<div class="focusDemo">
<input type="text" v-model="username" v-focus />
</div>
</template>
<script>
export default {
data () {
return {
username: ''
}
}
}
</script>vue文件中
<template>
<div class="focusDemo">
<input type="text" v-model="username" v-focus />
</div>
</template>
<script>
export default {
data () {
return {
username: ''
}
}
}
</script>好了,以上内容就是今天和大家分享的关于element-ui+vue框架中input文本框自动获取焦点聚焦的实现方法及代码,你可以根据自己网站建设项目的需求来选择合适的方法。
地址:绵阳市临园路东段78号B座13层
电话:0816-6339181
邮箱:kf@kf51.cn
微信公众号:
Copyright © 绵阳动力网站建设 www.kf51.cn All Rights Reserved 蜀ICP备08100083号
