Flutter 如何按类别筛选显示小部件
我有一个类别模型中的类别列表:Flutter 如何按类别筛选显示小部件,flutter,Flutter,我有一个类别模型中的类别列表: class Categories { final int id; final String categoryName; final String categoryImage; final String categorySubTitle; final String categoryDescription; Categories({ this.id, this.categoryName, this.categoryIm
class Categories {
final int id;
final String categoryName;
final String categoryImage;
final String categorySubTitle;
final String categoryDescription;
Categories({
this.id,
this.categoryName,
this.categoryImage,
this.categorySubTitle,
this.categoryDescription
});
}
List<Categories> categories = [tarocchi, amore, cartomanzia, viaggi, salute,carriera];
每个类别项目都有一个手势检测器,该检测器应移动到另一个屏幕,在该屏幕上应显示用户订阅的特定类别
因此,我如何在2屏幕中定义只有具有选定类别的用户才会显示?有很多方法可以解决这个问题 一种简单的方法是使用过滤器参数创建第二个屏幕:
ConsultantListScreen(categoryID)
,然后在其构建方法中使用它:
Widget build(BuildContext context){
...
var usersSubscribed = allUsers.where((u) => u.isSubscribedToCategory(categoryID)); // this information will probably come from a Provider, or maybe from a global index or something :-)
...
}
就我个人而言,如果根本不需要切换到第二页,我认为这会更优雅。例如,您可以从类别中创建筛选按钮或标记,并简单地按它们筛选用户。当然,这是您的设计决定。好的,在列表上方创建一个过滤器按钮幻灯片也是一个不错的方法,但是如何创建这个过滤器呢?例如,我可以创建一个包含所有类别的水平列表,当用户单击该类别时,小部件只会随着选择了类别的用户而更改,但如何更改?同样,有很多方法可以实现这一点,这是您的设计决策。:-)我喜欢,或者使用flutter也很容易创建过滤列表(如果您喜欢,甚至还有一个过滤器)。在谷歌上搜索,有很多关于如何做的教程和视频。
Widget build(BuildContext context){
...
var usersSubscribed = allUsers.where((u) => u.isSubscribedToCategory(categoryID)); // this information will probably come from a Provider, or maybe from a global index or something :-)
...
}