【发布时间】:2021-07-28 00:42:17
【问题描述】:
我正在尝试使用 Vuetify 的 VMenu 组件,我希望当用户单击按钮时,VMenu 会出现。至于docs,它说我们应该添加一个作用域插槽。使用普通模板它可以工作,但是当我切换到渲染函数方法时,它永远不会渲染按钮。
我一直在关注 Vue 的 docs 并最终得到:
h(VMenu, { props: { value: isMenuOpen.value } }, [
h(
"template",
{
scopedSlots: {
activator: ({ on, attrs }) => {
debugger; // it never reaches this debugger
return h(VButton, { on, attrs }, 'click me');
}
},
},
[]
),
h(VList, [h(VListItem, [h(VListItemTitle, ["Logout"])])]),
]),
我也尝试过使用非箭头函数:
scopedSlots: { activator: function({ on, attrs }) { return h('div', 'click me'); } }
并在非箭头函数和箭头函数中返回一个简单的h('div', 'click me'),但似乎没有任何效果。
如何将作用域插槽activator 传递给VMenu 组件?
【问题讨论】:
标签: javascript vue.js vuetify.js