react-amis-admin icon indicating copy to clipboard operation
react-amis-admin copied to clipboard

怎么扩展amis现有的editor,增加自定义的功能呢?

Open scofier opened this issue 11 months ago • 0 comments

我按照你的例子来写,没办法接受外面的变量参数

我是想通过快捷键保存数据到后端的api接口上, 但是接口需要一个id参数,这个参数从外面获取,没办法传递一个变量${data}

` interface MyProps extends RendererProps {

}

@Renderer({ type: 'code-editor' }) class CodeEditor extends React.Component<MyProps> {

static contextType = ScopedContext;
 theme = "vs-light";
 editorInstance = null; // 保存编辑器实例

constructor(props, context) {
  super(props);
  const scoped = context;
  scoped.registerComponent(this);
}

onEditorReady = (editor, monaco) => {
    console.log("onEditorReady", editor);
    this.editorInstance = editor;

    monaco.editor.registerCommand("cmd1",()=>{
        if(this.editorInstance) {
            let value = this.editorInstance.getValue();
            console.log('Save command triggered',value);

            this.props.handleSaveContent(value);
        }
        
    })

    monaco.editor.addKeybindingRules([{keybinding:monaco.KeyMod.CtrlCmd | monaco.KeyCode.KeyS,command:"cmd1"}]);
};

render() {
    return (
    <>
        <MonacoEditor
            height={800}
            options={this.props.options}
            theme={this.theme}
            value={this.props.value1}
            editorDidMount={this.onEditorReady}
        />
    </>
)};

};`

scofier avatar Dec 04 '24 11:12 scofier