Обновление элементов списка после удаления документа пожарного депо - PullRequest
0 голосов
/ 22 апреля 2020

У меня есть список предметов из магазина, и я отображаю их в виде списка, когда пользователь нажимает на элемент, он вызывает диалоговое окно, чтобы показать детали, и все идеально.

У меня есть кнопка удаления в диалоговое окно, при нажатии которого вызывается этот метод:

 await Firestore.instance.collection("Accessories").document(orderId).delete()

Объявляю глобальную переменную под названием orders

  List<OrdersModel> orders = List<OrdersModel>();

, использую этот метод для инициализации списка

   Future<List<OrdersModel>> getOrdersList()async{

if(isActive){
  await OrdersApi().getAllOrders(widget.user.uid,'Active').then((v){
    setState(() {
      orders = v;
    });
  });
  return orders;
}else{
  await OrdersApi().getAllOrders(widget.user.uid,'Completed').then((v){
    setState(() {
      orders = v;
    });
  });
  return orders;
}

}

и отображение списка с помощью построителя потоков, используя это:

  getListOfOrders(){
return StreamBuilder<List<OrdersModel>>(
  stream: getOrdersList().asStream(),
  builder: (context, snapshot) {
    if(snapshot.hasData == false ){
      return Expanded(

        child: ListView.builder(
            scrollDirection: Axis.vertical,
            itemCount: 10,

            itemBuilder: (context,index){
              return Shimmer.fromColors(


                baseColor: Color(0xFFB5B5B5),
                    highlightColor: Color(0xFF707070),
                child: Padding(padding: EdgeInsets.only(bottom: 1)
                  ,
                  child: getOrderListItem("","","","",""),
                ),
              );
            }),
      );
    }
    return Expanded(

      child: ListView.builder(
          scrollDirection: Axis.vertical,
          itemCount: snapshot.data.length,

          itemBuilder: (context,index){
        retur Padding(padding: EdgeInsets.only(bottom: 1)
          ,
            child: getOrderListItem(snapshot.data[index].orderType,snapshot.data[index].status,snapshot.data[index].date,snapshot.data[index].time,snapshot.data[index].orderId),
          ),
        );
      });

  }
);
  }

Я называю будущее потоком для прослушивания изменений, но когда кнопка удаления нажимается на документ удаляется в firestore, но остается в списке не обновленным, и я не хочу принудительно обновлять его.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...