diff --git a/packages/runtime-core/__tests__/apiSetupContext.spec.ts b/packages/runtime-core/__tests__/apiSetupContext.spec.ts index b9876870ac8..7905d86c3e3 100644 --- a/packages/runtime-core/__tests__/apiSetupContext.spec.ts +++ b/packages/runtime-core/__tests__/apiSetupContext.spec.ts @@ -206,4 +206,36 @@ describe('api: setup context', () => { await nextTick() expect(serializeInner(root)).toMatch(`
1
`) }) + + it('组件外部传进来的事件会绑定到组件内的所有dom上', async () => { + //这个测试时没有问题的 但是我在实际使用过程中 确实会出现 + const count = ref(0) + const div1 = ref(null) + const div2 = ref(null) + const Parent = { + render: () => + h(Child, { + onClick: () => count.value++ + }) + } + + const Child = createComponent({ + props: {}, + setup(props) { + return () => + h('div', [h('div', { ref: div1 }), h('div', { ref: div2 })]) + } + }) + + const root = nodeOps.createElement('div') + render(h(Parent), root) + await nextTick() + + triggerEvent((div1.value as unknown) as TestElement, 'click') + expect(count.value).toBe(0) + // expect(count.value).toBe(1) + triggerEvent((div2.value as unknown) as TestElement, 'click') + expect(count.value).toBe(0) + // expect(count.value).toBe(2) + }) }) diff --git a/packages/vue/examples/todomvc-composition.html b/packages/vue/examples/todomvc-composition.html index eee236e611f..c586000a32f 100644 --- a/packages/vue/examples/todomvc-composition.html +++ b/packages/vue/examples/todomvc-composition.html @@ -2,6 +2,7 @@
+

todos

@@ -53,7 +54,7 @@

todos