#flutter #dart
Вопрос:
Ниже приведен виджет, он не обновляет экран обновленными записями при нажатии кнопки удалить. Как я могу обновить экран с измененным списком, нажав кнопку удалить. Он обновляется только тогда, когда я обновляю.
@override
Widget build(BuildContext context) {
return BlocProvider<UsersCubit>(
create: (context) => UsersCubit()..getUsers(),
child: Scaffold(
appBar: AppBar(
title: const Text("All Users List"),
),
body: BlocBuilder<UsersCubit, List<UserModel>?>(
builder: (context, allUsers) {
if (allUsers!.isEmpty) {
return const Center(
child: CircularProgressIndicator(),
);
}
return ListView.builder(
itemCount: allUsers.length,
itemBuilder: (context, index) {
return Card(
child: ListTile(
title: Text(allUsers[index].name),
trailing: IconButton(
icon: const Icon(Icons.delete_forever),
onPressed: () {
setState(() {
_dataService.deleteUser(allUsers[index].id);
BlocProvider.of<UsersCubit>(context).getUsers();
});
}),
),
);
});
},
),
),
);
}
}
Комментарии:
1. Использовать StatefulWidget?
2. Да, я использовал виджет с отслеживанием состояния ,
3. Привет Мухамад 🙂 Не могли бы вы уточнить, был ли комментарий Козуби полезным? Это решило вашу проблему?
4. попробуйте вместо этого использовать панель вкладок и создайте метод, который возвращает виджет