Flutter文本输出来自Firebase时不抛出段落行

问题描述 投票:0回答:1

我有一个文本小部件,其中有\ n \ n,当段落更改时,该空白行引发空白行:

Text('Sibling Rivalry \n\n some more text\n\n> and even more text')

这可以正常工作,并在定义\ n \ n的位置打印空白行。但是,当我尝试输出完全相同的文本但从Cloud Firestore检索时,不会引发空白行。

这里是加载代码:

final extracted = await _firestore
    .collection('items')
    .where("active", isEqualTo: true)
    .orderBy("playCount", descending: true)
    .getDocuments();

extracted.documents.forEach(
  (mediaData) {

    if (mediaData['itemType'] == 'V') {
      loadedMedia.add(
        MediaItem(
          // load fields for VIDEO,
          title: mediaData['title'],
          description: mediaData['description'],
          itemCatCode: mediaData['itemCatCode'],
          imageUrl: mediaData['imageUrl'],
          itemUrl: mediaData['itemUrl'],
          itemType: mediaData['itemType'],
        ),
      );
    }

然后我尝试通过相同的文本小部件将其输出到屏幕上:

Text(mediaItem.description),

Btw,我直接在Firestore中键入文本,并且说明字段在Firestore中定义为String。我不知道为什么/ n / n不能被识别,因为来自Firestore的字符串看起来与上面的硬编码字符串完全相同。

在最终的应用程序中,对此的任何帮助将不胜感激,其中有很多文本带有相当多的段落。

flutter google-cloud-firestore flutter-layout flutter-dependencies
1个回答
0
投票

Firestore不支持字符串值内的任何转义序列。如果您在字符串中写入“ \ n”,则在阅读时将得到完全相同的信息。如果您需要存储一些特殊的东西,则可能需要自己对其进行编码和解码。

只需将mediaItem.description再次将“ \ n”替换为“ \ n”

© www.soinside.com 2019 - 2024. All rights reserved.