vue.js - 自定义指令 v-focus 不适用于 vuetify 组件
问题描述
我正在尝试使用名为 focus 的 vuejs 自定义指令关注来自 vuetify 的组件,即v-field-text
.
directives: {
focus: {
// directive definition
inserted: function(el) {
el.focus();
}
}
}
我有一个待办事项列表,我的待办事项打印有v-for
,我还有一个编辑待办事项的选项,每当我点击编辑按钮 todo 消失和 todo 编辑输入出现时。
我正在使用这个焦点指令来自动聚焦输入。
但是,当我像这样使用它时不起作用:
<v-field-text v-focus></v-field-text>
但它是这样工作的:
<input v-focus />
当我console.log
来自el
指令时,我看到它指的div
是由 vuetify 创建的元素。如何解决这个问题?
解决方案
请尝试此解决方案。它对我有用:
directives: {
focus: {
// directive definition
inserted: function (el) {
let childData = el.querySelectorAll("input")[0];
childData.focus()
}
}
}
推荐阅读
- c# - 无法使用c#连接oracle数据库
- asp.net - AES 加密数据的长度
- css - CSS 响应式网格从 4 列变为 2 列
- java - Java ArrayList vs C++ std::vector
- c# - 如何将项目从列表末尾移动到开头?
- python - 将 Python 包从单独的目录插入到不同的命名空间中
- javascript - 让用户登录可以访问每个网站页面
- javascript - 操作 GeoJSON 数据 - 在 OpenLayers 中重新加载矢量图层
- javascript - 仅在存在特定锚点的情况下在移动设备上重定向*?(我当前的代码重定向但忽略条件)
- android - android上的Firebase如何只返回没有子节点的节点