Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/91.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Draft.js中编辑器组件的默认块重写drophandler_Javascript_Reactjs_Firefox_Draftjs - Fatal编程技术网

Javascript Draft.js中编辑器组件的默认块重写drophandler

Javascript Draft.js中编辑器组件的默认块重写drophandler,javascript,reactjs,firefox,draftjs,Javascript,Reactjs,Firefox,Draftjs,我目前正在使用Draft.js构建一个类似于文档的编辑器,其中编辑器具有从以前的处理步骤生成的自定义块和Draft.js提供的默认块。我在编辑器上“拖放”自定义块时遇到了一些奇怪的行为 具体地说,如果编辑器上有默认的类文本块,并且您将自定义块放置在这些类文本块所在的位置,则类文本块的放置处理程序似乎覆盖了编辑器组件的放置处理程序。因此,它不渲染自定义块,而是将自定义块的道具转换为字符串并显示字符串 这是我遇到的问题的gif。(很抱歉,这是一个链接,因为我还不能在我的帖子中嵌入图片…) 重要的是

我目前正在使用Draft.js构建一个类似于文档的编辑器,其中编辑器具有从以前的处理步骤生成的自定义块和Draft.js提供的默认块。我在编辑器上“拖放”自定义块时遇到了一些奇怪的行为

具体地说,如果编辑器上有默认的类文本块,并且您将自定义块放置在这些类文本块所在的位置,则类文本块的放置处理程序似乎覆盖了编辑器组件的放置处理程序。因此,它不渲染自定义块,而是将自定义块的道具转换为字符串并显示字符串

这是我遇到的问题的gif。(很抱歉,这是一个链接,因为我还不能在我的帖子中嵌入图片…)

重要的是,我无法在Chrome中重现这个问题,但在Firefox中似乎非常一致。我还提供了另一个链接,指向使用Chrome的预期功能

此外,如果您将项目更多地放入编辑器中,编辑器组件的dropHandler将正确启动,如下面的gif所示(使用Firefox):

编辑器组件的父组件只是一个样式化的div,所以起初我认为这个div覆盖了drop事件,所以我尝试
preventDefault()
处理这个容器的所有drop事件,即onDrop、onDragEnter、onDragOver等,包括所有/一些的组合。但是,这似乎是无效的

我还搜索了在阅读draft.js的文档和问题时遇到的类似问题,但似乎没有取得任何进展

有没有办法禁用Draft.js中默认块的onDrop事件/拖放处理程序?或者是否有其他东西可以覆盖drophandler

非常感谢您花时间阅读,我们非常感谢您对正确方向的任何见解或指导