标题几乎说明了一切。使用 JavaScript 和直接 DOM 元素访问,您可以简单地执行以下操作:
domElement.focus()
domElement.blur()
你如何通过 snabbdom 中的虚拟 DOM 做到这一点?我认为这是 reactjs 中的情况之一,您只需打开逃生舱口并使用 refs。有没有这样的东西可以与抢断?
回答了我自己的问题。
Snabbdom 的生命周期钩子允许您通过vnode.elm
属性访问虚拟 dom 元素的底层真实 dom 元素。
h('button', {
update: {
update (oldVnode, vnode) { vnode.elm.focus(); }
}
});