【发布时间】:2020-12-28 14:06:05
【问题描述】:
我有一个列表,比如说“ProductList”
我有一个带有“颜色”和“形状”倾斜的过滤器栏,带有红色、绿色、方形和圆形的切换按钮。
颜色: 红绿
形状: 方圆
第一类 - 颜色
如果我点击红色,'ProductList' 必须过滤为红色。
firstFilteredList = ProductList.where((p) => p.color == "red");
现在如果我点击绿色,“ProductList”必须过滤为红色和绿色。
firstFilteredList = ProductList.where((p) => p.color == "red" || p.color == "green");
第二类 - 形状
现在,如果我单击方形,则必须将“firstFilteredList”过滤为方形。
secondFilteredList = firstFilteredList.where((p) => p.shape == "square");
现在,如果我单击圆形,则必须将“firstFilteredList”过滤为方形和圆形。
secondFilteredList = firstFilteredList.where((p) => p.shape == "square" || p.shape == "round");
如果按钮处于关闭状态,我需要删除这些过滤器。
为了简单起见,我刚刚提到了两个过滤器类别 - 颜色和形状。可能有 6-7 个过滤器类别。因此,解决方案必须具有可扩展性。
谁能帮我解决这个问题?
编辑: ProductList 是 CategorizedProduct 的一个元素。我必须返回列表。
class CategorizedProduct {
String id;
String title;
List<Product> product;
String selectedVariant;
}
class Product {
String color;
String id;
bool shapeRectangle;
bool shapeRound;
bool shapeSquare;
}
【问题讨论】:
-
这是一种复选框。因此用户可以从列表中选择任意数量的形状和颜色。是吗?
-
@Rajesh 是的....
-
@pskink 你能详细说明一下吗?我无法理解。
-
您现在有任何代码吗?如果有,请出示
-
显示您的 ProductList 类....帮助我们帮助您