Flutter:根据所选类别在 GridView 内显示值

Posted

技术标签:

【中文标题】Flutter:根据所选类别在 GridView 内显示值【英文标题】:Flutter : Display Values inside GridView depending on Selected Category 【发布时间】:2020-10-18 23:22:07 【问题描述】:

我有一个显示 _customCard 的应用程序,它是 GridView 中的自定义卡片。我想控制 GridView 中卡片的内容,以便可以根据 6 个不同类别的选定值 SelectedCategory 进行更改。

这里是我控制 SelectedCategory 的地方:

_favouritePressed(int index)
    setState(() 
      selectedIndex = index;
    );
  

这里是GridView的代码:

GridView.count(
          crossAxisCount: 2,
          children: <Widget>[
            _customCard(
              imageUrl: "assassin.png", item: "game", price: "\$50", count: 1
            ),
            _customCard(
              imageUrl: "sedan.png", item: "car", price: "\$25", count: 4
            ),
            _customCard(
              imageUrl: "blouse.png", item: "T-shirt", price: "\$20", count: 2
            ),
            _customCard(
              imageUrl: "toy.png", item: "kids", price: "\$2", count: 3
            ),
          ],
        ),

【问题讨论】:

【参考方案1】:

我不确定我是否理解您的问题,但我会尝试解决方案:

GridView.count(
      crossAxisCount: 2,
      children: <Widget>[
        if (selectedIndex==0)
          _customCard(
            imageUrl: "assassin.png", item: "game", price: "\$50", count: 1
          ),
        if (selectedIndex==1)
          _customCard(
            imageUrl: "sedan.png", item: "car", price: "\$25", count: 4
          ),
        if (selectedIndex==2)
          _customCard(
            imageUrl: "blouse.png", item: "T-shirt", price: "\$20", count: 2
          ),
        if (selectedIndex==3)
          _customCard(
            imageUrl: "toy.png", item: "kids", price: "\$2", count: 3
          ),
      ],
    ),

抱歉,如果我误解了您的问题。

【讨论】:

首先感谢您的帮助.. 我的意思是我希望根据一个类别的选择来改变四个 _cusomCards 的详细信息 那么也许你应该看一个函数来根据卡片ID和所选索引查找卡片属性。

以上是关于Flutter:根据所选类别在 GridView 内显示值的主要内容,如果未能解决你的问题,请参考以下文章

Flutter 中 DropDownMenu 按钮中的 OnTap 函数

根据 Flutter 中的选定类别为小部件元素分配不同的颜色

重力根据所选值的数量形成条件逻辑

Flutter 布局样式根据 api 响应变化

将所选图像从库中上传到gridview

Flutter如何根据某个值从firebase对列表进行分组