我正在尝试从js草图编辑器外部删除图像,但是它总是插入到编辑器中光标/选择的最后位置(如果未设置光标/选择,则总是插入到最后。)>
这是我包裹的draft-js-drag-n-drop-plugin
const droppableBlockDndPlugin = { ...blockDndPlugin, handleDrop: ( selection, dataTransfer, isInternal, {getEditorState, setEditorState} ) => { const editorState = getEditorState(); const raw = dataTransfer.data.getData('text'); const data = raw ? raw.split(IMAGE_BLOCK_TYPE_SEPARATOR) : []; if (data.length > 1 && data[0] === IMAGE_BLOCK_TYPE_PURE) { const url = data[1]; if (url) { const newState = imagePlugin.addImage(editorState, url); setEditorState(newState); } } return blockDndPlugin.handleDrop(selection, dataTransfer, isInternal, { getEditorState, setEditorState }); } };
基本上,我只是在使用
handleDrop
插入图像的基础imagePlugin.addImage
出现之前做额外的逻辑。是否可以将图像拖放到拖动位置?
我正在尝试从js草稿编辑器外部删除图像,但是它总是插入到编辑器中光标/选择的最后位置(如果未设置光标/选择,则插入到最后)。这是我的包裹...
实际上,这是非常明显的解决方案-您应该只使用传递的selection
并用它创建新状态,然后将图像添加到该新状态: