Kuinka täyttää Sailfish Silican ComboBox-elementti

Jos tiedät valmiiksi mitkä valinnat haluat pudotusvalikossa olevan, helpoin tapa on käyttää suoraan MenuItem-objekteja ComboBox-komponentin menu-elementissä.

ComboBox {
id: combo
width: 200
label: "Pudotusvalikon otsikko"

menu: ContextMenu {
    MenuItem {
        text: "Banaani"
        onClicked: console.debug("Banaani" + ", " + "Keltainen")
    }
    MenuItem {
        text: "Omena"
        onClicked: console.debug("Omena" + ", " + "Vihreä")
    }
    MenuItem {
        text: "Kookospähkinä"
        onClicked: console.debug("Kookospähkinä" + ", " + "Ruskea")
    }
}

Voit käyttää myös Repeater-elementtiä, jos mahdolliset valinnat on koostettuna ListModel-malliin. Repeater-elementin käyttö yhdessä ListModel-mallin kanssa mahdollistaa sen, että valintamahdollisuuksien ei tarvitse olla etukäteen tiedossa, vaan niitä voi tulla dynaamisesti lisää.

ListModel {
    id: cbItems
    ListElement { itemText: "Banaani"; color: "Keltainen" }
    ListElement { itemText: "Omena"; color: "Green" }
    ListElement { itemText: "Kookospähkinä"; color: "Ruskea" }
}

ComboBox {
    id: combo
    width: 200
    label: "Pudotusvalikon otsikko"

    menu: ContextMenu {
        Repeater {
            model: cbItems
            MenuItem { text: itemText; onClicked: {
                    console.debug(itemText + ", " + color)
                }
            }
        }
    }
}