目前我有一个从外部文件(PeriodicTableDelegate.qml)加载委托的RepeaterItem。是否可以使用Javascript逻辑在两个不同的委托之间进行选择?例如,可能像这样:
正常:
Repeater {
model: elementModel
delegate: PeriodicTableDelegate {
height: gridview.cellHeight
selectionModel: itemSelectionModel
width: gridview.cellWidth
x: (group - 1) * width
y: (period - 1) * height
}
}
我希望它如何工作:
Repeater {
model: elementModel
delegate: pickDelegate() ? PeriodicTableDelegate : SomeOtherDelegate {
height: gridview.cellHeight
selectionModel: itemSelectionModel
width: gridview.cellWidth
x: (group - 1) * width
y: (period - 1) * height
}
}
function pickDelegate(){
return window.height > 60
}
1条答案
按热度按时间vaqhlq811#
答案是肯定的。正如评论中提到的,有很多方法可以做到这一点,但你在问题中写的几乎已经起作用了。唯一缺少的是您可能希望将委托声明为Components。虽然函数可以为条件函数工作,但使用依赖于属性绑定的声明式样式更有意义。