react中添加sql编辑器,react-codemirror2, codemirror

前言

最近我在项目中需要实现一个 sql编辑器 的需求,并且是以React为开发基础的。

需要实现的功能

可以显示和输入sql语句,并进行关键字高亮展示

实现方法

1、安装依赖

npm install react-codemirror2 codemirror --save

2、创建index.js

import { UnControlled as CodeMirror } from 'react-codemirror2'
import 'codemirror/lib/codemirror.css';
import 'codemirror/mode/sql/sql';
import 'codemirror/addon/hint/show-hint.css';
import 'codemirror/addon/hint/show-hint.js';
import 'codemirror/addon/hint/sql-hint.js';
import 'codemirror/theme/ambiance.css';
import { useState } from 'react';

const SqlCodeMirror = props => {

  const [readOnly, setReadOnly] = useState(false)
  const [content, setContent] = useState('select * from table_1')

  const onChange = (editor, data, value) => {
    // console.log(editor, data, value);
    setContent(value);
  }

  const options = {
    lineWrapping: true,//自动换行,取消横向滚动条
    lineNumbers: true,//显示行号
    mode: { name: "text/x-mysql" },
    extraKeys: { "Ctrl": "autocomplete" },
    theme: 'ambiance',
    readOnly
  };

  return (
    <CodeMirror
      value={content}
      options={options}
      onChange={onChange}
    />
  );
}
export default SqlCodeMirror;
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容