如何在草稿js中创建自定义键绑定(Ctrl + Enter)

问题描述 投票:0回答:1

我需要使用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);
  };
reactjs key-bindings draftjs react-draft-wysiwyg
1个回答
0
投票

尝试一下:

const keyBindingFn = (event) => {
    if (e.ctrlKey && e.keyCode == 13) {
      if (event.nativeEvent.shiftKey) return console.log("event", event);
    }
    return getDefaultKeyBinding(event);
  };
© www.soinside.com 2019 - 2024. All rights reserved.