Listview 使用FutureBuilder在Flatter中显示存储在数据库中的项目列表
这里的Listview 使用FutureBuilder在Flatter中显示存储在数据库中的项目列表,listview,flutter,dart,Listview,Flutter,Dart,这里的dishType是一个变量,用于存储要显示的Dish类型的项目, 它显示的是一个空列表 以下是我的FutureBuilder body: FutureBuilder<List>( future: dishes(), initialData: List(), builder: (context, snapshot){ return snapshot.hasData ? ListView.builder(
dishType
是一个变量,用于存储要显示的Dish
类型的项目,
它显示的是一个空列表
以下是我的FutureBuilder
body: FutureBuilder<List>(
future: dishes(),
initialData: List(),
builder: (context, snapshot){
return snapshot.hasData
? ListView.builder(
itemCount: snapshot.data.length,
itemBuilder: (context, index){
final item = snapshot.data[index];
if (item.dishType == dishType) {
return ListTile(
title: Text("${item.dishName}"),
subtitle: Text(item.dishType),
);
} else return null;
},
)
: Center(
child: CircularProgressIndicator(),
);
},
),
body:FutureBuilder(
未来:菜品(),
initialData:List(),
生成器:(上下文,快照){
返回snapshot.hasData
?ListView.builder(
itemCount:snapshot.data.length,
itemBuilder:(上下文,索引){
最终项目=快照。数据[索引];
如果(item.dishcype==dishcype){
返回列表块(
标题:文本(“${item.dishName}”),
字幕:文本(项目类型),
);
}否则返回null;
},
)
:中心(
子对象:CircularProgressIndicator(),
);
},
),
以下是在条件被移除后输出的屏幕截图
如果我删除If语句,它将正常工作,显示所有菜肴及其类型的列表。可能dishType具有不同的值,请放入打印语句并检查这两个值扫描添加这些打印值的屏幕截图/日志更改If语句,如:If(item.dishType.toUpperCase()==dishType.toUpperCase())让我们知道它是否有效,我们欢迎你。快乐编码!!!:)如果我删除If语句,它会正常工作,显示所有菜肴及其类型的列表。可能dishType有不同的值,放入print语句并检查这两个值可以添加这些打印值的屏幕截图/日志更改If语句,如:If(item.dishType.toUpperCase()==dishType.toUpperCase())让我们知道它是否有效,我们欢迎你。快乐编码!!!:)