'X' 的实例,即使在使用 FutureBuilder Flutter 之后
instance of 'X' even after using FutureBuilder Flutter
我有一个 flutter 应用程序,它使用 [flutter_wordpress]
包向 WordPress REST API v2
发出 HTTP
请求。一切都很好,除了我得到“Categoryeven after using the
FutureBuilder 的实例”小部件
backend
import 'package:flutter_wordpress/flutter_wordpress.dart' as wp;
import 'package:saviortv_v2/backend/WordPressConfiguration.dart';
Future<List<wp.Category>> fetchCategories(Map<String, int> args) async {
var categories = wordPress.fetchCategories(
params: wp.ParamsCategoryList(
order: wp.Order.desc,
pageNum: args['pageNum'],
perPage: args['perPage'],
),
);
return categories;
}
FutureBuilder
import 'package:saviortv_v2/backend/WordPressCategories.dart' as wo;
class HorizontalSlider extends StatelessWidget {
@override
Widget build(BuildContext context) {
return FutureBuilder(
future: wo.fetchCategories({'perPage': 5, 'pageNum': 1}),
builder: (context, snapshot) {
print(snapshot.data);
return Container(
child: Text(snapshot.toString()),
);
},
);
}
}
这是我的调试控制台
那些 future instances
在数组内部的原因是因为我的 fetchCategories
函数 returns 类别列表...
我该如何解决这个问题?如何显示真实类别而不是 'Category'?
的“实例”
这与期货无关。你有一个结构列表。您不只是对其调用 toString() 并期望它神奇地转换为您想要的控件列表。你必须编程它。
要显示数据列表,您可以使用 ListView。
例如,像这样:
ListView.builder(
itemCount: snapshot.data.length,
itemBuilder: (context, index) => Text('${snapshot.data[index]}'),
);
现在这只会给你一个列表,其中包含“'Category' 的实例”的项目,你的工作是找出你实际想要显示的类别数据结构的内容。也许它有一个 'Name'元素?
我有一个 flutter 应用程序,它使用 [flutter_wordpress]
包向 WordPress REST API v2
发出 HTTP
请求。一切都很好,除了我得到“Categoryeven after using the
FutureBuilder 的实例”小部件
backend
import 'package:flutter_wordpress/flutter_wordpress.dart' as wp;
import 'package:saviortv_v2/backend/WordPressConfiguration.dart';
Future<List<wp.Category>> fetchCategories(Map<String, int> args) async {
var categories = wordPress.fetchCategories(
params: wp.ParamsCategoryList(
order: wp.Order.desc,
pageNum: args['pageNum'],
perPage: args['perPage'],
),
);
return categories;
}
FutureBuilder
import 'package:saviortv_v2/backend/WordPressCategories.dart' as wo;
class HorizontalSlider extends StatelessWidget {
@override
Widget build(BuildContext context) {
return FutureBuilder(
future: wo.fetchCategories({'perPage': 5, 'pageNum': 1}),
builder: (context, snapshot) {
print(snapshot.data);
return Container(
child: Text(snapshot.toString()),
);
},
);
}
}
这是我的调试控制台
那些 future instances
在数组内部的原因是因为我的 fetchCategories
函数 returns 类别列表...
我该如何解决这个问题?如何显示真实类别而不是 'Category'?
的“实例”这与期货无关。你有一个结构列表。您不只是对其调用 toString() 并期望它神奇地转换为您想要的控件列表。你必须编程它。
要显示数据列表,您可以使用 ListView。
例如,像这样:
ListView.builder(
itemCount: snapshot.data.length,
itemBuilder: (context, index) => Text('${snapshot.data[index]}'),
);
现在这只会给你一个列表,其中包含“'Category' 的实例”的项目,你的工作是找出你实际想要显示的类别数据结构的内容。也许它有一个 'Name'元素?