flutter - 需要更新对象而不是添加

标签 flutter dart

我有以下代码,应该更新我在 firebase 中的地址记录。但是,它不是更新,而是添加新字段。

代码如下:

   Future<void> updateAddress (Address address)  async{
      final url = 'https://m&m.firebaseio.com/address/$userId.json?auth=$authToken';
   await  http.patch(url, body:json.encode({
       'phoneNumber':address.phoneNumber,
        'name':address.name, 
        'details':address.details, 
        'alternatePhone':address.alternatePhone 
      })); 
      _items.first = address;
      notifyListeners();
  }

这是我执行更新函数后的样子:

enter image description here

最佳答案

嘿,我看到您正在更新用户的所有值,因此您也可以使用 http.put 而不是补丁 像这样

 Future<void> updateAddress (Address address)  async{
  final url = 'https://m&m.firebaseio.com/address/$userId.json?auth=$authToken';
   await  http.put(url, body:json.encode({
   'phoneNumber':address.phoneNumber,
    'name':address.name, 
    'details':address.details, 
    'alternatePhone':address.alternatePhone 
  })); 
  _items.first = address;
  notifyListeners();
  }

另请参阅这些文档以获取更多信息 firebase realtime database docs

欢迎发表评论并询问更多信息

关于flutter - 需要更新对象而不是添加,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64945954/

相关文章:

database - 使用flutter从Cloud Firestore访问数据

android - flutter Assets 错误 : EXCEPTION CAUGHT BY IMAGE RESOURCE SERVICE

error-handling - 禁用 Flutter 的 "red screen of death"

Firebase Admob 广告即使在一个月后也没有显示,广告无法加载

android - flutter : Future inside another Future

dart - 使用 getter 和 setter 从 1-7 个整数创建字符串

flutter - 如何在timePicker中格式化时间

flutter - 交换小部件,以便修复下面的小部件

flutter - Flutter中出现这个错误的原因是什么?

flutter - 在内部存储器(根文件夹)中创建目录Flutter