我在我的项目中使用“keen-ui”库。这是 special component用于选择项目。我想处理来自另一个组件的事件并对此设置焦点,但我不知道该怎么做。
另一个组件,里面有<input/>
标签可以像this.$refs[component name].$el.children[0].children[1].focus
一样被聚焦, 其中children[0].children[1]
是<input/>
元素。这很丑陋,但如果组件不包含 input 标签,我们甚至不能这样做。
最佳答案
检查这些小部件,我发现它们包含一个带有 tabindex="0"
的 div
,这意味着它们可以接收焦点。
如果你在组件上有一个ref
,你应该可以做类似的事情
const focusableEl = this.$refs.uiselect.querySelector('[tabindex="0"]');
focusableEl.dispatchEvent(new Event('focus'));
然后小部件将亮起。我实际上是从控制台这样做来测试它的。有趣的是,blur
对我不起作用。
关于javascript - 如何关注组件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49761516/