BB10级联:在ListView中展开/折叠项

BB10级联:在ListView中展开/折叠项,listview,qml,expand,listitem,blackberry-cascades,Listview,Qml,Expand,Listitem,Blackberry Cascades,我正在寻找在QML中折叠/展开ListItem的代码示例 目前,我有一个想法,通过为触发项的每个子项切换visible标志来实现。但我无法想象如何迭代这些孩子。下面是一段代码: ListView { dataModel: XmlDataModel {...} onTriggered: { var dataType = dataModel.itemType(indexPath)

我正在寻找在QML中折叠/展开
ListItem
的代码示例

目前,我有一个想法,通过为触发项的每个子项切换
visible
标志来实现。但我无法想象如何迭代这些孩子。下面是一段代码:

        ListView {
            dataModel: XmlDataModel {...}
            onTriggered: {
                var dataType = dataModel.itemType(indexPath)
                if (dataType == "header")
                {
                    var childrenCount = dataModel.childCount(indexPath);
                    for (int i = 0; i < childrenCount; i++)
                    {
                        // what to write here to get each child ListItem?
                    }
                }
            }
        }
ListView{
数据模型:XmlDataModel{…}
反对:{
var dataType=dataModel.itemType(indexPath)
如果(数据类型==“标题”)
{
var childrenCount=dataModel.childCount(indexPath);
for(int i=0;i
提前谢谢


PS:对于我的任务,我们从
bb::cascades::DataModel
继承并覆盖
childCount
。但是我不想处理C++类。

也许你可以考虑在 DATAMODEL < /C>中设置一个可见的属性,并将孩子的可见性绑定到它。
ListView {
    dataModel: XmlDataModel {...}
...
    listItemComponents: [
        ListItemComponent {
            visible: ListItemData.visible
...
        }
    ]
}

然后,要循环遍历这些子对象并使它们都不可见,您只需循环遍历
数据模型

是的,这是一种方法。我们需要在模型结构中保持可视性,这是一个小缺点。我将等待可能的答案,显示如何迭代
ListItem
子项。这在之前已经出现过。我不相信您可以遍历ListView子级/在这种情况下,最好将每个子级的
visible
属性映射到其父级的
expanded
属性。我们是否可以访问
ListItemData
中的父项?如果您询问如何将listItemComponents绑定到其父项列表视图的属性,请参阅我的答案。在我的案例中,父项也是
ListItemComponent
,我希望将其属性绑定到子项的
可见
标志。仍然找不到如何访问父列表项。