package.json
{
"dependencies": {
"vue": "^3.4.15",
"vuetify": "^3.5.9"
}
}
dialogのactivatorもtooltipのactivatorも、どちらも同じコンポーネントのv-bindとして渡したい......という状況の解決方法。
こんな感じにしたら動いたっす。
HogeComponentParent.vue
<v-dialog>
<template #activator="{ props: dialogActivator }">
<v-tooltip text="hello, tooltip">
<template #activator="{ props: tooltipActivator }">
<HogeComponent
// mergePropsを使って二つのpropsを合成するのがポイント
v-bind="mergeProps(tooltipActivator, dialogActivator)"
/>
</template>
</v-tooltip>
</template>
<template #default>
<v-sheet class="pa-4">
<p>hello, dialog</p>
</v-sheet>
</template>
</v-dialog>
参考
mergeProps()
https://ja.vuejs.org/api/render-function#mergeprops