Вопрос Как я могу получить доступ к атрибуту выбранного параметра в OptionSelector?


У меня есть OptionSelector, который делегирует OptionSelectorDelegate и имеет ListModel для модели. Как мне получить доступ к атрибуту «sometext» в ListElements?

OptionSelector {
    id: optionSelector
    model: listModel
    delegate: delegator
}

Component {
    id: delegator
    OptionSelectorDelegate {
        text: name
    }
}

ListModel {
    id: listModel
    ListElement {name: "name"; sometext: "text"}
    ListElement {name: "name"; sometext: "more text"}
}

2
2018-03-01 23:11


происхождения




ответы:


OptionSelector имеет SelectedIndex поле, которое вы можете использовать для получения элемента из модели:

listModel.get(selectedIndex).sometext

Если вы вызываете этот код за пределы области optionSelector, вам необходимо указать его:

listModel.get(optionSelector.selectedIndex).sometext

2
2018-03-01 23:23



Но как мне получить значение атрибута «sometext»? - Ian N
Отредактировано для добавления этой части - Dennis
Когда я попробую ваше предложение, я получаю следующую ошибку: «ReferenceError: selectedIndex не определен». Я также попытался «optionSelector.selectedIndex.filename», но он не определен. - Ian N
optionSelector.selectedIndex это число, поэтому оно не будет иметь свойства имени файла. Если вы вызываете этот код за пределы области optionSelector, вам необходимо указать его: listModel.get(optionSelector.selectedIndex).sometext - Dennis
Ах, отлично, большое вам спасибо! - Ian N