fix(vapor): special handling vapor props in vdom interop

This commit is contained in:
daiwei 2025-05-26 14:11:04 +08:00
parent 1ef6e6edb7
commit 398c16f05e
2 changed files with 4 additions and 3 deletions

View File

@ -27,7 +27,8 @@ const slotProp = ref('slot prop')
change slot prop change slot prop
</button> </button>
<div class="vdom-slot-in-vapor-default"> <div class="vdom-slot-in-vapor-default">
#default: <slot :foo="slotProp" /> #default:
<slot :foo="slotProp" />
</div> </div>
<div class="vdom-slot-in-vapor-test"> <div class="vdom-slot-in-vapor-test">
#test: <slot name="test">fallback content</slot> #test: <slot name="test">fallback content</slot>
@ -40,7 +41,7 @@ const slotProp = ref('slot prop')
> >
Toggle default slot to vdom Toggle default slot to vdom
</button> </button>
<VdomComp :msg="msg"> <VdomComp :msg="msg" class="foo">
<template #default="{ foo }" v-if="passSlot"> <template #default="{ foo }" v-if="passSlot">
<div>slot prop: {{ foo }}</div> <div>slot prop: {{ foo }}</div>
<div>component prop: {{ msg }}</div> <div>component prop: {{ msg }}</div>

View File

@ -151,7 +151,7 @@ function createVDOMComponent(
const frag = new VaporFragment([]) const frag = new VaporFragment([])
const vnode = createVNode( const vnode = createVNode(
component, component,
rawProps && new Proxy(rawProps, rawPropsProxyHandlers), rawProps && extend({}, new Proxy(rawProps, rawPropsProxyHandlers)),
) )
const wrapper = new VaporComponentInstance( const wrapper = new VaporComponentInstance(
{ props: component.props }, { props: component.props },