使用Flutter中类别/项目列表的标题创建ListView

问题描述

我有一个JSON菜单,该菜单被解析为一个List,每个Category都有一个List属性。 像这样:

[
    {
        "label": "cat1","name": "Category 1","items": [
            {
                "pageName": "item1","displayName": "First item"
            },{
                "pageName": "item2","displayName": "Second item"
            }
        ]
    },{
        "label": "cat2","name": "Category 2","items": [
            {
                "pageName": "cat3","displayName": "Yet another category"
            }
        ]
    }
]

我要显示的是一个具有以下内容的ListView:

  • 作为组标题的类别
  • 项目作为基本元素

我来自Xamarin.Forms,使用ListView显示类别列表,每个类别直接属于列表类型。但是,使用Dart很难做到这一点,因此我选择有一个类别列表,并且每个类别都有一个类型为List的属性。无论如何,即使有这种传统,我也无法在Flutter中获得理想的结果。

我应该如何处理?

(我发现的解决方案是在Item类中定义一个category属性,并使用包grouped_list来按类别进行分组,但这很棘手,因为每个Category都与某些行为相关联(例如,显示图像),这打破了逻辑:类别是由项目定义的,但项目并非旨在属于某个类别...我也想保持类别的定义以促进国际化

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...