关于zefyr初始化编辑数据的图片插入问题

项目用到图文编辑器,搜了一下编辑器插件,目前只有 zefyr,还不错,功能满足需求。
问题出现在编辑器初始化数据上,=_= 最后比对官方的example 的代码,发现插入图片的 insert 的值里面有一个隐藏的字符,没有这个字符,图片显示不出来:

import 'dart:async';
import 'dart:convert';
import 'package:flutter/material.dart';
import 'package:zefyr/zefyr.dart';
import 'package:quill_delta/quill_delta.dart';

class ImageTextEditor extends StatefulWidget {
  @override
  ImageTextEditorState createState() => ImageTextEditorState();
}

class ImageTextEditorState extends State<ImageTextEditor> {
  ZefyrController _controller;
  FocusNode _focusNode;
  bool _editing = true;
  StreamSubscription<NotusChange> _sub;

  @override
  void initState() {
    super.initState();
    final data = json.decode(
      r'['
      r'{"insert":"\n"},'
      r'{"insert":"\u200b","attributes":{"embed":{"type":"image","source":"https://picsum.photos/id/380/536/354"}}},'
      r'{"insert":"\n"},'
      r'{"insert":"","attributes":{"embed":{"type":"image","source":"https://picsum.photos/id/380/536/354"}}},'
      r'{"insert":"\n"}]'
    );
    final d = Delta.fromJson(data);
    final document = NotusDocument.fromDelta(d);
    _controller = ZefyrController(document);
    _focusNode = FocusNode();
    _sub = _controller.document.changes.listen((change) {
      print('${change.source}: ${change.change}');
    });
  }

  @override
  Widget build(BuildContext context) {
    ...
          child: ZefyrEditor(
            controller: _controller,
            focusNode: _focusNode,
            enabled: _editing,
            toolbarDelegate: ZefyrLessToolbarDelegate(),
            imageDelegate: MoshanImageDelegate(),
          ),
    ...
  }
}

=_= 坑死人啊,就是 \u200b 这个字符,上面两张图片只能显示一张,加上了这个字符就能显示了,好醉。

插入图片,必须要有 EmbedNode.kPlainTextPlaceholder

Delta delta = Delta()
delta.insert("\n");
delta.insert(EmbedNode.kPlainTextPlaceholder, { "embed": { "type": "image", "source": "https://picsum.photos/id/380/536/354"}});
delta.insert("\n")

EmbedNode.kPlainTextPlaceholder is 0x200b