如何转发子组件的属性?
How to forward properties of a child component?
当围绕一些组件编写包装器时,例如:
MyComponent.qml
ColumnLayout{
ListView{
id: listview
}
}
是否可以在不手动输入所有别名的情况下公开子项(listview
此处)的所有属性?
这样我就可以做类似于以下内容的操作(如果允许的话):
ColumnLayout{
MyComponent{
listview.model: ListModel{ // Here
}
}
}
(通过转发它们,或者通过定义一个指向列表视图的 属性(我试过了,它似乎不起作用......),或者任何其他允许绑定 属性 来自列表视图,就像我在定义 ListView
)
时所做的那样
您只需为要公开的对象的id 添加别名即可。所以在MyComponent.qml中,你可以这样做:
ColumnLayout{
property alias listview: listview
ListView{
id: listview
}
}
然后你可以从其他对象访问它:
ColumnLayout{
MyComponent{
listview.model: ListModel{
}
}
}
当围绕一些组件编写包装器时,例如:
MyComponent.qml
ColumnLayout{
ListView{
id: listview
}
}
是否可以在不手动输入所有别名的情况下公开子项(listview
此处)的所有属性?
这样我就可以做类似于以下内容的操作(如果允许的话):
ColumnLayout{
MyComponent{
listview.model: ListModel{ // Here
}
}
}
(通过转发它们,或者通过定义一个指向列表视图的 属性(我试过了,它似乎不起作用......),或者任何其他允许绑定 属性 来自列表视图,就像我在定义 ListView
)
您只需为要公开的对象的id 添加别名即可。所以在MyComponent.qml中,你可以这样做:
ColumnLayout{
property alias listview: listview
ListView{
id: listview
}
}
然后你可以从其他对象访问它:
ColumnLayout{
MyComponent{
listview.model: ListModel{
}
}
}