如何在reactjs中的CKEditor5工具栏中添加下划线选项和对齐选项

How Can I add underline option & Alignment option in toolbar of CKEditor5 in reactjs

如何在reactjs 的CKEditor 中添加文本对齐和下划线选项,我试过了但没有成功。 请帮助我

text-editor.js

import React from 'react'
import CKEditor from '@ckeditor/ckeditor5-react';
import ClassicEditor from '@ckeditor/ckeditor5-build-classic';

const TextEditor = ({handleChildClick}) => {
    return (
        <div className="container">
            <CKEditor
                editor={ ClassicEditor }
                onChange={ ( event, editor ) => {
                    const data = editor.getData();
                    handleChildClick(data)
                } }
            />
            <style>
                {`
                .ck-content { height: 150px; }
                `}
            </style>
        </div>
    );
}; 
export default TextEditor
Parent.js

<TextEditor handleChildClick={getDataFromTextEditor} />

使用 ClassicEditor 删除了一些按钮,例如 "Underline, Subscript, Superscript"。您将需要使用编辑器的自定义版本,而不是经典版本。

我已经与 CKEditor 团队取得联系。他们已将我发送给他们的在线构建器: https://ckeditor.com/ckeditor-5/online-builder/

我已经试过了,看起来使用起来很简单。有很多选项,因此您需要仔细阅读。

基本上,选择您的编辑器类型,添加插件,选择您的语言,构建并使用构建。

希望对您有所帮助

我看到问题已经得到解答,但我想我可以补充一下我是如何解决这个问题的。

在安装 ckeditor for react 时我使用了

npm install --save @ckeditor/ckeditor5-react @ckeditor/ckeditor5-build-decoupled-document

代替文档中给出的示例

npm install --save @ckeditor/ckeditor5-react @ckeditor/ckeditor5-build-classic

然后我按照文档中显示的创建解耦编辑器的方法

import { CKEditor } from '@ckeditor/ckeditor5-react';
import DecoupledEditor from '@ckeditor/ckeditor5-build-decoupled-document';

class App extends Component {
    editor = null;

    render() {
        return (
            <div className="App">
                <h2>CKEditor 5 using a custom build - decoupled editor</h2>
                <CKEditor
                    onReady={ editor => {
                        console.log( 'Editor is ready to use!', editor );
                        editor.ui.getEditableElement().parentElement.insertBefore(
                            editor.ui.view.toolbar.element,
                            editor.ui.getEditableElement()
                        );

                        this.editor = editor;
                    } }
                    onError={ ( { willEditorRestart } ) => {

                        // This is why you need to remove the older toolbar.
                        if ( willEditorRestart ) {
                            this.editor.ui.view.toolbar.element.remove();
                        }
                    } }
                    onChange={ ( event, editor ) => console.log( { event, editor } ) }
                    editor={ DecoupledEditor }
                    data="<p>Hello from CKEditor 5's decoupled editor!</p>"
                    config={ /* the editor configuration */ }
                />
        );
    }
}

export default App;

这是给 Angular 的,如果有人正在寻找它会有所帮助。

参考: https://github.com/ckeditor/ckeditor5-angular/issues/156 1)

npm install --save ckeditor5-build-classic-plus

  1. 包含在 hmtl 中

<ckeditor (ready)="editorsReady($event)" [editor]="Editor" data="test" [config]="optionsNews">

  1. 包含在您使用编辑器的 ts 文件中(例如任何编辑器组件)

import ClassicEditor from 'ckeditor5-build-classic-plus';

public editorsReady(editor) {
         editor.ui.getEditableElement().parentElement.insertBefore(
         editor.ui.view.toolbar.element,
       editor.ui.getEditableElement() );
       }