diff --git a/packages/runtime-vapor/__tests__/vdomInterop.spec.ts b/packages/runtime-vapor/__tests__/vdomInterop.spec.ts index a9baea6ab2d..546078c8bcb 100644 --- a/packages/runtime-vapor/__tests__/vdomInterop.spec.ts +++ b/packages/runtime-vapor/__tests__/vdomInterop.spec.ts @@ -49,6 +49,28 @@ describe('vdomInterop', () => { expect(html()).toBe('foo') }) + + test('should handle class prop when vapor renders vdom component', () => { + const VDomChild = defineComponent({ + setup() { + return () => h('div', { class: 'foo' }) + }, + }) + + const VaporChild = defineVaporComponent({ + setup() { + return createComponent(VDomChild as any, { class: () => 'bar' }) + }, + }) + + const { html } = define({ + setup() { + return () => h(VaporChild as any) + }, + }).render() + + expect(html()).toBe('
') + }) }) describe('v-model', () => { diff --git a/packages/runtime-vapor/src/componentProps.ts b/packages/runtime-vapor/src/componentProps.ts index 6832bd9103c..d7502abdcd8 100644 --- a/packages/runtime-vapor/src/componentProps.ts +++ b/packages/runtime-vapor/src/componentProps.ts @@ -370,7 +370,10 @@ function propsDeleteDevTrap(_: any, key: string | symbol) { } export const rawPropsProxyHandlers: ProxyHandler