From 6e541db29f091e985bde6f483850561980b657eb Mon Sep 17 00:00:00 2001 From: Evan You Date: Mon, 5 Aug 2024 16:33:05 +0800 Subject: [PATCH] chore: warn style injection in shadowRoot: false mode --- packages/runtime-dom/src/apiCustomElement.ts | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/packages/runtime-dom/src/apiCustomElement.ts b/packages/runtime-dom/src/apiCustomElement.ts index add209257..bb73feccf 100644 --- a/packages/runtime-dom/src/apiCustomElement.ts +++ b/packages/runtime-dom/src/apiCustomElement.ts @@ -312,6 +312,12 @@ export class VueElement extends BaseClass { } // apply CSS + if (__DEV__ && styles && def.shadowRoot === false) { + warn( + 'Custom element style injection is not supported when using ' + + 'shadowRoot: false', + ) + } this._applyStyles(styles) // initial render @@ -481,11 +487,13 @@ export class VueElement extends BaseClass { } private _applyStyles(styles: string[] | undefined) { + const root = this.shadowRoot + if (!root) return if (styles) { styles.forEach(css => { const s = document.createElement('style') s.textContent = css - this._root.appendChild(s) + root.appendChild(s) // record for HMR if (__DEV__) { ;(this._styles || (this._styles = [])).push(s)