diff --git a/packages/runtime-dom/src/directives/vModel.ts b/packages/runtime-dom/src/directives/vModel.ts index 3b446e320c5..b49bf809e27 100644 --- a/packages/runtime-dom/src/directives/vModel.ts +++ b/packages/runtime-dom/src/directives/vModel.ts @@ -102,7 +102,12 @@ export const vModelText: ModelDirective< return } - if (document.activeElement === el && el.type !== 'range') { + const rootNode = el.getRootNode() + if ( + (rootNode instanceof Document || rootNode instanceof ShadowRoot) && + rootNode.activeElement === el && + el.type !== 'range' + ) { // #8546 if (lazy && value === oldValue) { return