将文本拖放到DraftJS编辑器中

时间:2018-12-04 15:51:59

标签: javascript reactjs draftjs

这可能是一个愚蠢的问题,但是我似乎无法弄清楚如何使用Draft.js并正确获取要拖放的文本。

这是我一直关注的文档部分(handleDrop): https://draftjs.org/docs/api-reference-editor.html

首先,我在React组件中使用这样的DraftJS:

<Editor editorState={this.state.editorState} onChange={this.onControlChanged} handleDrop={this.handleDrop}></Editor>

然后,当它发生变化时,就会触发:

onControlChanged = async (editorState) => {
    this.setState({
        editorState: editorState
    });
}

我也有这段代码,它设置了我要删除的dataTransfer:

dragField(e: React.DragEvent<HTMLDivElement>, field: Field) {
    e.dataTransfer.setData(
        "text/html",
        '[-' + field.text + '-]'
    );
    return false;
}

现在,这是我不确定的部分-但无法获得有关如何正确使用它的清晰文档:

handleDrop = (selectionState, dataTransfer, type) => {
    this.setState(prevState => ({
        ...prevState,
        editorState: EditorState.push(prevState.editorState, selectionState, 'insert-fragment')
    }));
}

它显然不太喜欢...

我在某处可以参考更多文档,还是有人知道我可以/应该如何实现?

0 个答案:

没有答案