【发布时间】:2019-11-16 07:13:39
【问题描述】:
debt_dao.dart
Future totalAmount() async {
final db = await dbProvider.database;
var result = await db.rawQuery("SELECT SUM(amount) as Total FROM $debtDetailsTable");
var total = result[0]['Total'];
print(total); // It prints expected value ex. 1400
return total;
}
debt_repository.dart
Future getTotalAmt() => debtDao.totalAmount();
debt_bloc.dart
getTotalAmount() async {
await _debtRepository.getTotalAmt();
}
我想在这里显示输出,虽然像下面这样,它只打印 null。
debt_details.dart
Widget build(BuildContext context) {
int _total;
void calculateTotal() {
_total = debtBloc.getTotalAmount();
}
return Scaffold(
appBar: AppBar(
title: Text(_total.toString()), // Total should show/updated here
),
还有一件事,每当我在表单中添加数据时,我都有一个表单,应该更新总数。
debt_form.dart
saveDetails() async {
await debtBloc.getTotalAmount(); // Even this prints null only
}
因为我是新来的长笛挣扎了很长时间。请以正确的方式指导我。提前致谢。
【问题讨论】:
-
@pskink 我已经阅读了这篇文章。我想我必须重构/修改我的小部件代码。
-
@pskink 即使我重构了我的小部件,如何将我的脚手架更改为流构建器?
-
阅读一些关于
FutureBuilder/StreamBuilder的教程