【问题标题】:Getting null value instead of input value in flutter在颤动中获取空值而不是输入值
【发布时间】:2021-10-12 15:07:33
【问题描述】:

当我保存一个值时收到一个空值,因为在我的代码中我有三个字段

   String? _itemName ="";
   String? _dateCreated ="";
   int? _id; 

在运行我的项目后,我通过调用此方法插入一个项目:

Future<int> saveItem(NoDoItem item) async
{
    var dbClient = await database;
    int res = await dbClient.insert(tableName, item.toMap());
    debugPrint(res.toString());
    return res;
}

使用saveItem()函数:

void _hndleSubmitted(String text) async
  {
      _textEditingController.clear();

      NoDoItem noDoItem = NoDoItem(text, DateTime.now().toIso8601String());
      int savedItemId = await db.saveItem(noDoItem);

      debugPrint("Item saved ID: $savedItemId");
 }

之后,当我检索所有 itemNames 时,我得到的是空值而不是用户输入的值

定义getItems()函数:

Future<List> getItems() async
{
    var dbClient = await database;
    var result = await dbClient.rawQuery("SELECT * FROM $tableName ORDER BY $columnItemName ASC");
    return result.toList();
}

使用getItems()函数:

 _readNotoDoItems() async
  {
    List items = await db.getItems();
    items.forEach((item) {
      NoDoItem noDoItem = NoDoItem.map(item);
      print("Db items:  ${noDoItem.itemName}");
    });
  }

请告诉我我得到空值而不是输入值的原因是什么以及如何解决这个问题?

【问题讨论】:

标签: flutter sqlite dart intellij-idea dart-null-safety


【解决方案1】:

我认为问题出在这里

void _hndleSubmitted(String text) async {
    _textEditingController.clear(); // <--------- HERE

      NoDoItem noDoItem = NoDoItem(text, DateTime.now().toIso8601String());
      int savedItemId = await db.saveItem(noDoItem);

      debugPrint("Item saved ID: $savedItemId");
 }

您在使用之前使用_textEditingController.clear(); 清除该值。将项目添加到数据库后移动它

void _hndleSubmitted(String text) async {
     NoDoItem noDoItem = NoDoItem(text, DateTime.now().toIso8601String());
     int savedItemId = await db.saveItem(noDoItem);
     textEditingController.clear();
     debugPrint("Item saved ID: $savedItemId");
  }

【讨论】:

  • 不,它不起作用,兄弟
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2021-10-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-01-08
相关资源
最近更新 更多