В React очень просто, так как нет «слотов». Все параметры. Но я не знаю, как передать слот в качестве параметра. Вот что я сделал.
Я создал новый компонент, который использует v-menu
компонент из Vuetify :
// SelectorComponent.vue
<template>
<v-menu>
<template v-slot:activator="{ on }">
<slot name="activator" v-on="on" />
</template>
...
Затем я использовал этот компонент:
<Selector>
<template v-slot:activator="{ on }">
<v-btn text v-on="on">Type</v-btn>
</template>
</Selector>
А при нажатии на кнопку «Тип» не показывает меню. Однако, если я заменяю слот кнопкой, он работает:
// It works!
<template>
<v-menu outlined :close-on-content-click="false" offset-y>
<template v-slot:activator="{ on, attrs }">
<v-btn text v-on="on">Type</v-btn>
</template>
что я делаю не так?