@@ -9,9 +9,10 @@ import { useProxiedModel } from '@/composables/proxiedModel'
9
9
10
10
// Utilities
11
11
import { computed , provide , ref , toRef , watch } from 'vue'
12
- import { genericComponent , omit , propsFactory , useRender } from '@/util'
12
+ import { genericComponent , getCurrentInstance , omit , propsFactory , useRender } from '@/util'
13
13
14
14
// Types
15
+ import type { ExtractPublicPropTypes } from 'vue'
15
16
import { VTreeviewSymbol } from './shared'
16
17
import type { VListChildrenSlots } from '@/components/VList/VListChildren'
17
18
import type { ListItem } from '@/composables/list-items'
@@ -59,6 +60,7 @@ export const VTreeview = genericComponent<new <T>(
59
60
} ,
60
61
61
62
setup ( props , { slots } ) {
63
+ const vm = getCurrentInstance ( 'VTreeview' )
62
64
const { items } = useListItems ( props )
63
65
const activeColor = toRef ( props , 'activeColor' )
64
66
const baseColor = toRef ( props , 'baseColor' )
@@ -146,7 +148,8 @@ export const VTreeview = genericComponent<new <T>(
146
148
} )
147
149
148
150
useRender ( ( ) => {
149
- const listProps = VList . filterProps ( props )
151
+ const listProps = VList . filterProps ( vm . vnode . props ! as ExtractPublicPropTypes < typeof makeVTreeviewProps > )
152
+
150
153
const treeviewChildrenProps = VTreeviewChildren . filterProps ( props )
151
154
152
155
return (
@@ -158,7 +161,6 @@ export const VTreeview = genericComponent<new <T>(
158
161
props . class ,
159
162
] }
160
163
style = { props . style }
161
- v-model :opened = { opened . value }
162
164
v-model :activated = { activated . value }
163
165
v-model :selected = { selected . value }
164
166
>
0 commit comments