当来自 Firebase 时,Flutter 文本输出不会抛出段落行
Flutter text output not throwing paragraph line when comes from Firebase
我有一个文本小部件,其中有 \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),
顺便说一句,我将文本直接输入到 Firestore 中,描述字段在 Firestore 中定义为字符串。我不知道为什么 /n/n 没有被识别,因为来自 Firestore 的字符串看起来与上面的硬编码字符串完全一样。
对于这方面的任何帮助,我们将不胜感激,因为在最终的应用程序中,有很多文本和很多段落。
Firestore 不支持字符串值中的任何转义序列。如果您在字符串中写入“\n”,您将在读取它时得到准确的结果。如果您需要存储一些特殊的东西,您可能需要自己编码和解码。
再次 mediaItem.description 将“\n”替换为:“\n”(如果您使用 \n 创建了字符串)
您还可以尝试一件事 mediaItem.description 将“\n
”替换为:“\n”(如果它是使用某些文本区域等自动创建的)
我有一个文本小部件,其中有 \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),
顺便说一句,我将文本直接输入到 Firestore 中,描述字段在 Firestore 中定义为字符串。我不知道为什么 /n/n 没有被识别,因为来自 Firestore 的字符串看起来与上面的硬编码字符串完全一样。
对于这方面的任何帮助,我们将不胜感激,因为在最终的应用程序中,有很多文本和很多段落。
Firestore 不支持字符串值中的任何转义序列。如果您在字符串中写入“\n”,您将在读取它时得到准确的结果。如果您需要存储一些特殊的东西,您可能需要自己编码和解码。
再次 mediaItem.description 将“\n”替换为:“\n”(如果您使用 \n 创建了字符串)
您还可以尝试一件事 mediaItem.description 将“\n
”替换为:“\n”(如果它是使用某些文本区域等自动创建的)