我需要过滤我的应用程序中的数据,但显示错误是我的工作方式。
现在打印[Instance of 'Post']
,我需要打印所有值
class _FilterScreenState extends State<FilterScreen> {
List showPost;
@override
void initState(){
super.initState();
print(widget.id);
showPost = posts.where((i) => i.id == widget.id).toList();
print(showPost);
}
我需要过滤id
等于我的widget.id
的数组
在其他文件上,数据看起来像这样
final List<Post> posts = [
Post(
id: 0,
authorName: 'Umaiz Khan',
authorImageUrl: 'assets/images/user0.png',
timeAgo: '5 min',
imageUrl: 'assets/images/post0.jpg',
),
Post(
id: 1,
authorName: 'Saad ahmed',
authorImageUrl: 'assets/images/user1.png',
timeAgo: '10 min',
imageUrl: 'assets/images/post1.jpg',
),
Post(
id: 2,
authorName: 'Hiba',
authorImageUrl: 'assets/images/user4.png',
timeAgo: '10 min',
imageUrl: 'assets/images/post2.jpg',
),
];
答案 0 :(得分:1)
重写Post类的函数 toString 。返回您需要显示的值。
@override
String toString() {
return '$id - $authorName';
}
答案 1 :(得分:1)
您可以覆盖Post类的toString()方法,如下所示
class Post{
int id;
String authorName;
String authorImageUrl;
String timeAgo;
String imageUrl;
Post({this.id,this.authorName,this.authorImageUrl,this.timeAgo,this.imageUrl});
@override
String toString( ) {
return 'Post{id: $id, authorName: $authorName, authorImageUrl: $authorImageUrl, timeAgo: $timeAgo, imageUrl: $imageUrl}';
}
}