ListModel 显示,如果它包含

ListModel 显示,如果它包含

我想知道如果列表包含字符,该如何显示它。例如:

ListModel {
    id: fruitModel
    ListElement {
        name: "Apple"
        cost: 2.45
    }
    ListElement {
        name: "Orange"
        cost: 3.25
    }
    ListElement {
        name: "Banana"
        cost: 2.45
    }
}
UbuntuListView {
    objectName: "ubuntuListView"
    width: parent.width
    height: main.height
    model: fruitModel  
    spacing: units.gu(1)
    interactive: false
    delegate: ListItem.Subtitled {
        showDivider: true
        anchors.leftMargin: units.gu(2)
        Text {
            text: name
            color: openFoodFacts.settings.color
        }
        Label {
            anchors { right: parent.right; verticalCenter: parent.verticalCenter}
            anchors.rightMargin: 15;
            text: cost
        }
    }
} 

如何仅显示价格为 2.45 的水果?

感谢您的帮助。

抱歉我的英语不好,我是法国人。

答案1

假设你正在使用 Ubuntu UI Toolkit(在你的示例中你已声明了一个 UbuntuListView),你可以使用排序过滤模型

SortFilterModel {
    id: sortedFruitModel
    model: fruitModel

    filter.property: "cost"
    filter.pattern: /2.45/
}

然后,在您的 ListView 中设置“sortedFruitModel”作为模型。

相关内容