首页 > 解决方案 > 如何使用带有 HTML 值的 RichTextEditor?

问题描述

我正在尝试com.vaadin.flow.component.richtexteditor.RichTextEditor在表单中使用,我需要获取和设置HTML格式而不是 delta 格式,我还需要对使用这些方法的表单的所有其他字段使用getValue()and来实现同质性。setValue()所以我尝试了这样的事情:

public class HtmlEditor extends RichTextEditor {
  private HasValue<?, String> htmlValue;

  public HtmlEditor() {
    htmlValue = asHtml();
    setThemeName(RichTextEditorVariant.LUMO_COMPACT.getVariantName());
  }

  @Override
  public String getValue() {
    return StringUtils.trimToNull(htmlValue.getValue());
  }

  @Override
  public void setValue(String value) {
    htmlValue.setValue(StringUtils.trimToEmpty(value));
  }


}

但这不起作用,因为 RichTextEditor 本身使用 getValue 和 setValue 直接期望(我猜)增量格式。

我考虑将 RichTextEditor 包装为一个组合组件,但这对于读取和编写 HTML 的简单且如此常见的需求来说似乎有点过头了。

有简单的解决方案吗?

标签: htmlvaadinrichtextvaadin-flowdelta

解决方案


我不认为有任何内置的东西,不。使用一些自定义转换器可能是可行的,但“简单”不是正确的词。

编辑:有一张关于此的公开票,如果该功能对您很重要,您可以发表评论和投票:https ://github.com/vaadin/flow-components/issues/1584


推荐阅读