diff --git a/packages/playground/vue/CustomElement.ce.vue b/packages/playground/vue/CustomElement.ce.vue
new file mode 100644
index 00000000000000..c8c33c02f74d1f
--- /dev/null
+++ b/packages/playground/vue/CustomElement.ce.vue
@@ -0,0 +1,26 @@
+
+ Custom Element
+
+
+
+
+
+
diff --git a/packages/playground/vue/__tests__/vue.spec.ts b/packages/playground/vue/__tests__/vue.spec.ts
index 052439bf9663d5..99cd923cf1f35c 100644
--- a/packages/playground/vue/__tests__/vue.spec.ts
+++ b/packages/playground/vue/__tests__/vue.spec.ts
@@ -211,3 +211,11 @@ describe('ref transform', () => {
expect(await page.textContent('.ref-transform')).toMatch('1')
})
})
+
+describe('custom element', () => {
+ test('should work', async () => {
+ await page.click('.custom-element')
+ expect(await page.textContent('.custom-element')).toMatch('count: 2')
+ expect(await getColor('.custom-element')).toBe('green')
+ })
+})
diff --git a/packages/playground/vue/index.html b/packages/playground/vue/index.html
index 57f325518a2c25..fc5f3762d6b36e 100644
--- a/packages/playground/vue/index.html
+++ b/packages/playground/vue/index.html
@@ -1,7 +1,10 @@