首页 > 解决方案 > 使用在线构建生成器时,CKEditor5 工具栏未在 Angular 中显示

问题描述

我正在使用从在线构建生成器生成的自定义构建。

然后我遵循了用Angular 富文本编辑器组件编写的文档,但使用自定义构建而不是使用官方编辑器构建之一。

不知何故,我的工具栏及其图像工具栏和表格工具栏等项目没有出现在我的 Angular 项目中。执行npm install提供工具栏所需的文件,以"image"在在线构建示例页面上显示完整的项目(包括等)。

我在这里缺少什么来成功显示使用在线构建生成器定义的工具栏及其项目?

标签: ckeditor5

解决方案


目前也在经历同样的事情。

我假设您也只是简单地ckeditor.jsbuild文件夹中导入了。在我的情况下,我必须config为编辑器手动定义:

零件

  import * as CustomEditor from "src/app/ckeditor5-custom-build/build/ckeditor";
  //...
  public Editor = CustomEditor;
  config: CKEditorConfig = {
    placeholder: "Write your answer here.",
    // BUG: Current CKEditor5's generated build does not 
    // show the default toolbar as defined in the online builder
    toolbar: [
     "bold", "italic",  "underline", "code", "|",
      "blockquote", "codeblock", "bulletedlist", "numberedlist", "|",
      "link", "image", "|",
      "Format",
    ],
  };

模板

  <ckeditor [editor]="Editor" [config]="config" [data]="data"></ckeditor>

免责声明

当前的问题是"image"工具栏项未按预期工作。上面的代码只显示了工具栏并成功显示了"code""codeblock"工具栏项(这是单独的CKEditor Plugins 就像"image"

更新 (截至 2020 年 11 月 9 日)

我可以确认,当您从在线构建器直接将编辑器构建添加到 Angular 应用程序时,工具栏丢失了。这里的情况是 - 从 OB 构建有builtinPlugins,但缺少defaultConfig- 配置在ckeditor5/sample/index.html. 如果将此配置添加到ckeditor5/src/ckeditor.js,例如像这样:

Editor.defaultConfig = {
    toolbar: {
        items: [
            'heading', '|', 'bold', 'italic', 'link',
            'bulletedList', numberedList', '|', 'indent', 'outdent', '|',
            'imageUpload',
            'blockQuote',
            'insertTable',
            'mediaEmbed',
            'undo', 'redo'
        ]
    },
    language: 'en',
    image: {
        toolbar: [
            'imageTextAlternative',
            'imageStyle:full',
            'imageStyle:side'
        ]
    },

推荐阅读