首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用React Codemirror自动提示css关键字?

如何使用React Codemirror自动提示css关键字?
EN

Stack Overflow用户
提问于 2020-09-14 00:52:36
回答 1查看 418关注 0票数 7

我正在尝试通过代码镜像浏览器编辑器使用react包装器库https://www.npmjs.com/package/react-codemirror2来实现css的自动建议。

我在onchange事件上尝试过editor.execCommand('autocomplete');,但它使浏览器崩溃

我的尝试

代码语言:javascript
复制
import ReactDOM from "react-dom";
import React from "react";
import {UnControlled as CodeMirror} from 'react-codemirror2';

import 'codemirror/lib/codemirror.css';
import 'codemirror/theme/material.css';
import 'codemirror/addon/hint/show-hint.css';

require('codemirror/mode/css/css');
require('codemirror/addon/hint/css-hint');
require('codemirror/addon/hint/show-hint');
require('codemirror/addon/edit/closebrackets');
require('codemirror/addon/lint/lint');
require('codemirror/addon/display/autorefresh');


const App = () => {

    const handleChange = (editor, data, value) => {

        console.log(editor, data, value);

        /* Crash the browser */
        // editor.execCommand('autocomplete');
    }
    return(
        <div>
            <CodeMirror
                value='body{ background: red }'
                options={{
                    mode: 'css',
                    theme: 'material',
                    lineWrapping: true,
                    smartIndent: true,
                    lineNumbers: true,
                    foldGutter: true,
                    autoCloseTags: true,
                    matchBrackets: true,
                    autoCloseBrackets: true,
                    autoRefresh:true
                }}
                onChange={handleChange}
            />
        </div>
    )
}

const rootElement = document.getElementById("root");
ReactDOM.render(<App />, rootElement);

提前感谢

EN

回答 1

Stack Overflow用户

发布于 2020-09-16 08:16:30

您可以使用editor.showHint({ completeSingle: false })而不是editor.execCommand('autocomplete');

代码语言:javascript
复制
const handleChange = (editor, data, value) => {
  editor.showHint({ completeSingle: false });
};

您也可以使用此Github issue中所述的特定组合键来触发它

代码语言:javascript
复制
<CodeMirror
  options={{
    extraKeys: {'Ctrl-Space': 'autocomplete'}, // pressing CTRL + Space will trigger autocomplete
  }}
/>
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63873307

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档