vue.js - 从 vue3 中的 v-on 事件处理程序访问元素
问题描述
我需要在 vue 中访问组件的元素并不少见。例如在 element-plus 中,确保焦点被移除:
<el-button ref="btnLanza" @mouseleave="$refs.btnLanza.$el.blur()" @click="runLanza" round>Lanzar</el-button>
在其他框架中,类似的东西on-mouseleave="this.blur()"
就足够了,但在 vuethis
中并没有指向元素,所以我需要定义一个 ref 然后遍历 $refs,仅用于这个小任务。
是否有替代$this来访问捕获事件的组件而不是定义模板的组件?
解决方案
尝试使用内联函数并使用目标模糊方法而不定义参考:
@mouseleave="($event)=>$event.target.blur()"
要不就@mouseleave="$event.target.blur()"
受此启发
推荐阅读
- html - 如何使父元素与绝对定位到祖父母的孩子的大小相同?
- python - 有没有办法过滤 gcloud 数据存储 python api 中缺少属性的实体?
- c# - 从 SQL Server Varbinary 列创建 ZIP 文件
- excel - 查找列中特定行的最大值
- javascript - 无法使用 react-pdf 查看 .pdf 文件
- c - _mm256_store_ps() 函数是原子的吗?在与 openmp 一起使用时
- solr - how to resolve solr create aliase error URI is too large?
- azure-devops - Azure DevOps Pipeline test showing partially succeeded
- python - 从给定列表中查找包含 int 值的缺失字符串
- python - 列值的两次出现并更新另一列的值