如何在不使用 futurebuilder 的情况下处理加载和完成
How to handle loading and completion without using futurebuilder in flutter
我无法通过示例中的方法区分两种不同的情况。如何处理加载和完成情况?
//async method
void list() {
databaseHelper.list().then((records) {
setState(() {
_recordList = records;
});
});
}
_recordList.length > 0
? ListView.builder(
itemCount: _recordList.length,
itemBuilder: (context, index) {
return {....}
})
: Center(
child: Text("No Record"),
),
我想显示 CircularProgressIndicator() 直到加载列表,但如果列表为空,我想显示 "No Record"。
不用futurebuilder怎么办?
你可以用值 null 或 0 来处理它
void list() {
_recordList = null;
databaseHelper.list().then((records) {
setState(() {
_recordList = records;
});
});
}
但是无效列表,必须 return 一个新的 List() 当他们找不到记录时..
_recordList == null ? new new CircularProgressIndicator() :
_recordList.length > 0
? ListView.builder(
itemCount: _recordList.length,
itemBuilder: (context, index) {
return {....}
})
: Center(
child: Text("No Record"),
),
我无法通过示例中的方法区分两种不同的情况。如何处理加载和完成情况?
//async method
void list() {
databaseHelper.list().then((records) {
setState(() {
_recordList = records;
});
});
}
_recordList.length > 0
? ListView.builder(
itemCount: _recordList.length,
itemBuilder: (context, index) {
return {....}
})
: Center(
child: Text("No Record"),
),
我想显示 CircularProgressIndicator() 直到加载列表,但如果列表为空,我想显示 "No Record"。
不用futurebuilder怎么办?
你可以用值 null 或 0 来处理它
void list() {
_recordList = null;
databaseHelper.list().then((records) {
setState(() {
_recordList = records;
});
});
}
但是无效列表,必须 return 一个新的 List() 当他们找不到记录时..
_recordList == null ? new new CircularProgressIndicator() :
_recordList.length > 0
? ListView.builder(
itemCount: _recordList.length,
itemBuilder: (context, index) {
return {....}
})
: Center(
child: Text("No Record"),
),