Flutter 需要更新对象而不是添加

Flutter 需要更新对象而不是添加,flutter,dart,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({

我有下面的代码,应该更新我在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();
  }
未来更新地址(地址)异步{
最终url='https://m&m.firebaseio.com/address/$userId.json?auth=$authToken';
等待http.patch(url,body:json.encode({
“phoneNumber”:address.phoneNumber,
“name”:address.name,
“详细信息”:address.details,
“alternatePhone”:地址。alternatePhone
})); 
_items.first=地址;
notifyListeners();
}
下面是我执行更新函数后的情况:


嘿,我看到你正在更新用户的所有值,因此你也可以使用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();
  }
未来更新地址(地址)异步{
最终url='https://m&m.firebaseio.com/address/$userId.json?auth=$authToken';
等待http.put(url,body:json.encode({
“phoneNumber”:address.phoneNumber,
“name”:address.name,
“详细信息”:address.details,
“alternatePhone”:地址。alternatePhone
})); 
_items.first=地址;
notifyListeners();
}
有关更多信息,请参阅这些文档


请随意评论和询问更多内容

如果答案对您有帮助,请将其标记为已接受。这不是我想要的答案。但是我会给你一个加分,因为你投进去了。@Akshiit,谢谢兄弟。你能帮我一下吗?我也回答了这个问题。看一看,还有一个问题,如果你能帮我的话:
 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();
  }