iview input实现默认获取焦点并选中文字
Posted xhappyness
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了iview input实现默认获取焦点并选中文字相关的知识,希望对你有一定的参考价值。
1. 业务背景
配置页面,可新建和复制任务;当复制任务的时候,要把名字的input框默认获取焦点,并全选任务名。效果如下:
2. 代码实现
<template>
<Form :model="config">
<FormItem label="任务名称">
<Input
ref="taskNameInput"
id="taskNameInput"
placeholder="请输入任务名称"
v-model.trim="config.taskName"
/>
</FormItem>
···
</Form>
</template>
<script>
export default {
name: "Config",
computed: {
taskName() {
return this.$route.query.taskName;
}
},
data() {
return {
config: {
taskName: "",
···
}
};
},
methods: {
async getTaskConfig() {
// 接口获取数据
},
setNameFocus() {
this.$refs.taskNameInput.focus();
document.querySelector("#taskNameInput .ivu-input").select();
}
},
async mounted() {
if (this.taskName) {
await this.getTaskConfig();
this.setNameFocus();
}
}
};
</script>
说明: 因为iview的Input并没有提供选中的方法,所以这时候只能使用原生的select()方法进行选中;调用该方法的dom是原生的input,而不是iview的i-input
以上是关于iview input实现默认获取焦点并选中文字的主要内容,如果未能解决你的问题,请参考以下文章
axure7.0如何实现光标在文本框中获得焦点时,文本框内容自动清空。失去焦点时显示默认文字,谢谢!
用jquery怎么实现点击密码输入框,上面的提示文字“请输入密码”消失,失去焦点时候提示文字又存在
iview render input每输入一个字符就会自动跳出焦点