database - 使用 Flutter 在 Firestore 中保存多行文本
问题描述
我正在为我的应用程序制作一个笔记保存页面,该页面能够编辑笔记标题和笔记本身。
在使用 Flutter 和 Firestore 时,我遇到了这个问题:
我找不到任何方法来创建像 TextField 这样支持多行文本的东西,而且我不知道如何将这些数据存储在 Firestore 中。
编辑注释页面代码,目前仅从 Firestore 读取:
class EditNotePage extends StatefulWidget {
final DocumentSnapshot document;
EditNotePage({
Key key,
this.document
}) : super(key: key);
@override
_EditNotePageState createState() => _EditNotePageState(document);
}
class _EditNotePageState extends State<EditNotePage> {
final DocumentSnapshot document;
_EditNotePageState(this.document);
@override
Widget build(BuildContext context) {
var textFieldTitleController = new TextEditingController(
text: document['title']
);
var textFieldNoteController = new TextEditingController(
text: document['note']
);
return Scaffold(
appBar: AppBar(
title: Text('Edit note'),
),
body: Column(
children: <Widget>[
TextField(
controller: textFieldTitleController,
decoration: InputDecoration(
labelText: 'Title'
),
),
TextField(
controller: textFieldNoteController,
decoration: InputDecoration(
labelText: 'Note'
),
),
],
),
);
}
}
火库结构:
用户>“userUID”>注释>“注释”>标题(作为字符串)和注释(作为字符串)
这在制作文本编辑应用程序或保存用户编写的长文本时尤其重要。
解决这个问题的任何想法?
解决方案
终于找到了一个解决方案,Flutter 的文本字段有一个 maxLines 参数,输入 null 或你想要的行数,它将无缝存储在 Firebase 中,没有任何格式问题。
推荐阅读
- excel - 如何使用 VBA 在 Excel 中使用较小范围内的数据填充范围
- bash - 如何在 Shell 脚本中建立远程连接时捕获错误
- c - Cash.c 预计 18/n 而不是 22/n
- java - 为什么 foreach 不能与 String 一起使用?
- reactjs - AWS Amplify - React Authenticator 组件不可见
- sql-server - 存储 PDF 文件的最佳实践
- mysql - 当语句引用多个其他变量时,SQL 根据大小写在新变量中返回 1,0
- python - 使用 python 将 DataFrame 列日期从 2/3/2007 格式转换为 20070223
- c# - 如何知道外键的用途?
- azure - 如何使用 Azure Monitor 或 ADF 本身触发 Azure Data Factory V2 中长时间运行的进程的警报通知?