【发布时间】:2020-05-14 15:28:23
【问题描述】:
Draft js中需要使用Ctrl+Enter调用函数
"draft-js": "^0.11.4",
"react-draft-wysiwyg": "^1.14.4",
正如issue 和here 所提到的,我这样编写代码但效果不佳。
const keyBindingFn = (event) => {
if (KeyBindingUtil.hasCommandModifier(event) && event.keyCode === 13) { return callMyFunc(); }
return getDefaultKeyBinding(event);
}
我在 Editor props 中设置的方式:
return (
<Editor
editorState={editorState}
onChange={(newState) => setEditorState(newState)}
keyBindingFn={keyBindingFn}
/>
)
此功能适用于 Ctrl+k 或其他键。
我尝试的另一种方法如下所示,您可以检查它 https://codepen.io/michael_cox/pen/xrvdRW?editors=1111 但对我来说它也行不通。也许是因为使用草稿所见即所得
const keyBindingFn = (event) => {
if (event.keyCode === 13 && event.ctrlKey) {
console.log('Ctrl+Enter');
}
return getDefaultKeyBinding(event);
};
【问题讨论】:
标签: reactjs key-bindings draftjs react-draft-wysiwyg