设置当作为webcomponent构建时不呈现v-menu



我正在尝试使用vue + vuetify创建一个Web组件。

我知道vuetify不支持web组件,但我还是决定试一试。

除了一些小事情,比如必须手动导入CSS,或者手动注册所有的vuetify组件,一切似乎都很好。

然而,我遇到了一个很大的障碍,那就是试图在web组件中使用<v-menu>。在构建完成后,按钮一旦被点击就什么也不做。我在控制台中只得到一个警告:

console.ts:34 [Vuetify] Unable to locate target [data-app]

我已经尝试确保data-app存在,但无济于事。

我正在构建web组件使用:

npx vue-cli-service build --target wc --name tl-test --inline-vue

当我将vue项目(通过yarn serve运行)与web组件输出(dist/demo.html)进行比较时,我可以看到,当我单击v-menu触发按钮时,下拉框的DOM被创建并附加到页面DOM。这似乎不会发生在web组件上。

我错过了什么会阻止<v-menu>工作?

重现问题的存储库:https://github.com/samupl/vuetify-webcomponent-issue

可以将一个HTML节点传递给v-menu的attachprop。

这将防止Vuetify使用不适合影子dom的查询选择器。

例如:

<v-menu :attach="$parent.$el">
...
</v-menu>

最新更新