首页 > 解决方案 > 无界的 CkEditor5 视图值

问题描述

我目前正在尝试为 CkEditor5 构建一个颜色插件,以模仿可用于 CkEditor4 的颜色插件。

我有一个输入法,但是将模型值映射到视图值是我的绊脚石。系统似乎已设置为预先知道每个可能的值并进行映射 - 这对于十六进制值显然是不切实际的。

有没有办法告诉 CkEditor 直接使用视图样式标签中的模型值和模型中的视图值?

标签: ckeditorckeditor5

解决方案


我假设您正在创建一个带有颜色选择器 UI 的插件。

您将无法将其与 CKE5 可用的现有突出显示插件相结合。相反,我建议创建一个新插件。您可以查看 highlight plugin 以了解提供插件需要做什么。

有没有办法告诉CKEditor直接使用视图样式标签中的模型值和模型中的视图值?

是的。您需要设置正确的向下转换 (model->view) 和向上转换 (view->model) 转换。为此,您需要提供一个生成模型/视图元素的函数。

请参阅downcastAttributeToElement和的文档upcastElementToAttribute()。在这些文档中,有一些示例说明如何设置使用style属性值的转换。Upcast 转换器显示了一个更复杂的示例,但您可以简单地从视图中返回值。

要添加这样的转换器,您需要使用model.Conversion#for..#add构造

  • editor.conversion.for( 'downcast' ).add( downcastAttributeToElement( downcastConfig ) )
  • editor.conversion.for( 'upcast' ).add( upcastElementToAttribute( upcastConfig ) )

推荐阅读