问题描述
我正在尝试在表单中使用 com.vaadin.flow.component.richtexteditor.RichTextEditor
,我需要获取和设置 HTML 格式而不是 不是 delta 格式,我还需要使用 getValue()
和 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 直接期望(我猜)delta 格式。
我考虑将 RichTextEditor 包装为一个组合组件,但这对于一个简单且通常需要读写 HTML 的需求来说似乎有点矫枉过正。
有没有简单的解决方案?
解决方法
我不认为有任何内置的东西,不。使用某些自定义转换器可能可行,但“简单”不是正确的词。
编辑:有一个关于此的公开票,如果该功能对您很重要,您可以评论和投票:https://github.com/vaadin/flow-components/issues/1584