【发布时间】:2019-03-09 18:12:57
【问题描述】:
我正在尝试在 Vuetify v-dialog 中使用 Quill.js 编辑器,但是当用户在当前打开的下拉菜单之外单击时,工具栏下拉菜单不会关闭。
我做了一个 js Fiddle: https://jsfiddle.net/6d7bef5n/
<div id="app">
<v-app>
<quill-editor v-model="content"></quill-editor>
<v-dialog v-model="dialog">
<quill-editor v-model="contentKo"></quill-editor>
</v-dialog>
<v-btn @click.stop="dialog = !dialog">Open Quill in a Modal</v-btn>
</v-app>
</div>
Vue.use(VueQuillEditor)
Vue.use(VueQuillEditor)
new Vue({
el: "#app",
data() {
return {
content: "I'm OK",
contentKo: "I'm Wrong, Toolbar dropdowns are not closing on blur",
dialog: false
}
}
});
似乎 v-dialog 组件在他的内容槽内的事件上做错了,可能是打开/关闭行为,但没有找到什么。
谢谢
【问题讨论】:
-
@MarlburroW 我制作的自定义选择组件也有同样的问题。当我在 Vuetify 对话框中使用它时,当我单击它外部时它不会关闭它的下拉列表。您找到问题的解决方案了吗?
-
否 :(,我认为这是由激活 v-dialog 时删除的 eventListener 引起的(可能是模糊或焦点事件),我真的不知道,我要调查vuetify 代码库中的更多内容:github.com/vuetifyjs/vuetify/blob/master/packages/vuetify/src/…
-
我找到了我的问题的原因,它是由这一行引起的:github.com/vuetifyjs/vuetify/blob/master/packages/vuetify/src/… 如果我删除这一行,当我点击它外部时,我的下拉菜单会正确关闭。但是删除此行可能会导致不必要的副作用。
-
是的,评论那行代码也解决了我的问题。然后点击事件传播,我的指令/组件接收它。
标签: vue.js vuetify.js quill