我需要使用Ctrl + Enter来调用Draft js中的函数因此,在此issue中提到:
因此,我像这样编写了我的代码,但它也不起作用。
const keyBindingFn = (event) => {
if (KeyBindingUtil.hasCommandModifier(event) && event.keyCode === 13) { return callMyFunc(); }
return getDefaultKeyBinding(event);
}
我在编辑器道具中设置的方式:
return (
<Editor
editorState={editorState}
onChange={(newState) => setEditorState(newState)}
keyBindingFn={keyBindingFn}
/>
)
此功能适用于Ctrl + k或其他键。
我尝试过的另一种方法是这样,它也不起作用。
const keyBindingFn = (event) => {
if (event.keyCode === 13) {
if (event.nativeEvent.shiftKey) return console.log("event", event);
}
return getDefaultKeyBinding(event);
};
尝试一下:
const keyBindingFn = (event) => {
if (e.ctrlKey && e.keyCode == 13) {
if (event.nativeEvent.shiftKey) return console.log("event", event);
}
return getDefaultKeyBinding(event);
};