如何根据对象模型内容使用自定义小部件创建ListView

Think_Twice

我想创建一个具有动态内容的ListView。

例如,我有一个宠物的对象/模型。它具有以下属性:名称,年龄,dateOfBirth,dateOfDeath和图片。

现在,我想在每个Pet实例自定义小部件中都有逻辑,以检查是否存在dateOfDeath或图像。如果没有它或它为null,我不想在屏幕上创建另一个Text / Image小部件。

我希望它类似于Java具有RecylcerView的方式,我们创建了一个自定义适配器,如果它们为空值,则可以隐藏组件。

我搜索并观看了许多YouTube视频,但没有找到解决我问题的方法。它们都只是具有静态数据,而没有潜在的空数据。

这是我当前拥有的代码示例:

class PetListItem extends StatelessWidget {

  final Pet pet;

  PetListItem (this.pet);

  @override
  Widget build(BuildContext context) {
    return Card(
      child: Column(
        children: <Widget>[
          Text(
            pet.name
          ),
          Text(
            pet.age
          ),
          Text(
            pet.dob
          ),
          Text(
            pet.dod // I want this to display if pet.dod is not null
          ),
          NetworkImage(
              pet.imageURL // I want this to display if pet.imageURL is not null
          )
        ],
      ),
    );
  }
}

任何帮助,将不胜感激。提前致谢。

Midhun MP

您可以使用三元运算符有条件地创建窗口小部件:

@override
Widget build(BuildContext context) {
  return Card(
    child: Column(
      children: <Widget>[
        Text(pet.name),
        Text(pet.age),
        Text(pet.dob),
        pet.dod != null ? Text(pet.dod) : Container(),
        pet.imageURL != null ? NetworkImage(pet.imageURL) : Container(),
      ],
    ),
  );
}

如果您不希望在返回null的情况下返回空的Container,则可以使用conditional_builder包。

ConditionalBuilder(
   condition: pet.dod != null,
   builder: (context) => Text(pet.dod),
),

ConditionalBuilder(
   condition: pet.imageURL != null,
   builder: (context) => NetworkImage(pet.imageURL),
),

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何在Xamarin小部件中使用自定义行创建ListView

来自分类Dev

如何创建自定义的fld sdk小部件,重建flutter和使用新的小部件

来自分类Dev

如何为yii2 ListView小部件使用自定义过滤器?

来自分类Dev

如何使用自定义菜单选择创建WordPress小部件

来自分类Dev

使用一组现有的小部件创建自定义小部件?

来自分类Dev

如何自定义android小部件

来自分类Dev

自定义小部件作为 ListView 中的元素

来自分类Dev

Flutter:如何从现有的窗口小部件正确创建自定义窗口小部件并使用其属性(有时有条件)

来自分类Dev

如何在应用小部件中创建类似于Google Play音乐小部件中的自定义视图?

来自分类Dev

如何在Flutter中将自定义小部件项目填充到ListView中?

来自分类Dev

使用 Qt Designer(生成的 GUI)创建自定义小部件并将它们提升为默认小部件

来自分类Dev

使用UI设计文件并使用自定义构造函数QT创建自定义小部件

来自分类Dev

在Wordpress中创建自定义小部件

来自分类Dev

cakephp 3.x 创建自定义小部件

来自分类Dev

如何根据自定义属性从集合动态创建对象?

来自分类Dev

如何在C语言中的GTK3中创建自定义小部件?

来自分类Dev

如何创建自定义锁屏小部件(我只想显示一个按钮)

来自分类Dev

SAP HYBRIS [Y]:如何在后台创建我们的自定义小部件

来自分类Dev

使用指定的操作地址在 Wordpress 中创建自定义登录小部件

来自分类Dev

Django:自定义模型中的自定义小部件

来自分类Dev

为ruby gem dashing.io创建自定义小部件-或合并小部件元素

来自分类Dev

如何在不导入自定义小部件类包的情况下使用自定义小部件和uic.loadUi?

来自分类Dev

如何在自定义小部件中显示QChartView?

来自分类Dev

如何制作自己的自定义桌面小部件?

来自分类Dev

如何在 Flutter 中自定义 Slider 小部件?

来自分类Dev

在Qt Designer中使用PySide自定义小部件

来自分类Dev

Qt Designer自定义小部件:使用标志

来自分类Dev

使用自定义窗口小部件填充QListWidget

来自分类Dev

在元小部件中使用自定义值类型

Related 相关文章

  1. 1

    如何在Xamarin小部件中使用自定义行创建ListView

  2. 2

    如何创建自定义的fld sdk小部件,重建flutter和使用新的小部件

  3. 3

    如何为yii2 ListView小部件使用自定义过滤器?

  4. 4

    如何使用自定义菜单选择创建WordPress小部件

  5. 5

    使用一组现有的小部件创建自定义小部件?

  6. 6

    如何自定义android小部件

  7. 7

    自定义小部件作为 ListView 中的元素

  8. 8

    Flutter:如何从现有的窗口小部件正确创建自定义窗口小部件并使用其属性(有时有条件)

  9. 9

    如何在应用小部件中创建类似于Google Play音乐小部件中的自定义视图?

  10. 10

    如何在Flutter中将自定义小部件项目填充到ListView中?

  11. 11

    使用 Qt Designer(生成的 GUI)创建自定义小部件并将它们提升为默认小部件

  12. 12

    使用UI设计文件并使用自定义构造函数QT创建自定义小部件

  13. 13

    在Wordpress中创建自定义小部件

  14. 14

    cakephp 3.x 创建自定义小部件

  15. 15

    如何根据自定义属性从集合动态创建对象?

  16. 16

    如何在C语言中的GTK3中创建自定义小部件?

  17. 17

    如何创建自定义锁屏小部件(我只想显示一个按钮)

  18. 18

    SAP HYBRIS [Y]:如何在后台创建我们的自定义小部件

  19. 19

    使用指定的操作地址在 Wordpress 中创建自定义登录小部件

  20. 20

    Django:自定义模型中的自定义小部件

  21. 21

    为ruby gem dashing.io创建自定义小部件-或合并小部件元素

  22. 22

    如何在不导入自定义小部件类包的情况下使用自定义小部件和uic.loadUi?

  23. 23

    如何在自定义小部件中显示QChartView?

  24. 24

    如何制作自己的自定义桌面小部件?

  25. 25

    如何在 Flutter 中自定义 Slider 小部件?

  26. 26

    在Qt Designer中使用PySide自定义小部件

  27. 27

    Qt Designer自定义小部件:使用标志

  28. 28

    使用自定义窗口小部件填充QListWidget

  29. 29

    在元小部件中使用自定义值类型

热门标签

归档