javascript - 如何在 Vue.js 中的方法内触发输入焦点事件?
问题描述
我有一个使用以下事件的输入:
<b-nput
class="input"
id="link"
v-model="link"
placeholder="link"
@focus="$event.target.select()"
></b-input>
我如何@focus="$event.target.select()"
在里面使用这个事件:
上述方法复制该值。我需要在用户点击复制的时候触发上面的选择焦点事件如何才能正确实现呢?
解决方案
添加saved
方法作为焦点事件处理程序:
@focus="saved"
方法 :
methods: {
saved(event){ //the event is passed automatically as parameter
event.target.select()
}
}
编辑 :
尝试添加ref
到输入元素
<b-input
ref="input"
class="input"
id="link"
v-model="link"
placeholder="link"
@focus="$event.target.select()"
></b-input>
然后在方法内部以编程方式触发焦点:
methods: {
async copy(s) {
await navigator.clipboard.writeText(s)
this.$refs.input.focus();
...
}
}
推荐阅读
- python - Read multiple csv data files and sort the data into a new csv file
- python - 编写一个函数,计算给定数字的以 2 为底的对数
- node.js - 我不断从 Bing 的 API 中收到“404 - 找不到资源”
- sql - 带有子查询的 case 语句 then
- python - 为什么我不能从列表中删除所需的元素
- asp.net - 创建另一个文件时,在 ASP 应用程序中创建的文件会消失 - 我如何获取这两个文件?
- react-redux - 如何将此动作创建者传递给useEffect?
- python - Python Typing:使用函数所在对象的类型键入提示参数
- blazor-client-side - 如何在 Blazor WASM 应用程序中生成 sitemap.xml 文件
- c++ - C++ 使用多线程复制多个向量