我在一个页面上有3个列表视图,我想创建一个 ListView
Headers 组件,我可以使用每个列表 .
所以我有一个ListView:
ListView {
id: listOne
spacing: 5
header: headerComponent
model: ListOneModel
}
它引用了以下标头组件:
Component {
id: headerComponent
Rectangle {
width: ListView.view.width
height: 50
Label {
text: "List One"
font.pixelSize: 20
elide: Label.ElideRight
width: ListView.view.width
padding: {
left: 14
}
background: Rectangle {
color: "red"
}
}
}
}
如何使标头组件可重复使用,以便当我将 ListView
连接到 Headers 时,我还可以传入不同的 Headers ?
我知道我可以更改标头组件并添加 titleText
属性,如下所示:
Component {
id: headerComponent
property string titleText: "My Title"
Rectangle {
width: ListView.view.width
height: 50
Label {
text: titleText
font.pixelSize: 20
elide: Label.ElideRight
width: ListView.view.width
padding: {
left: 14
}
background: Rectangle {
color: "red"
}
}
}
}
但是如何在ListView中使用 Headers 组件时指定titleText'属性?
2 回答
您可以在每个列表视图中设置属性,然后从Header组件中访问该属性 .
例如:-
创建新文件调用
ListHeader.qml
包含您的 Headers :并像这样使用它:
关于importing和custom types的QML文档 .