如何转发子组件的属性



在编写一些组件的包装时,例如:

MyComponent.qml

ColumnLayout{
ListView{
id: listview
}
}

是否可以公开子级的所有属性(此处为listview(,而无需手动键入所有别名?

这样,如果允许的话,我可以做一些类似于下面的事情:

ColumnLayout{
MyComponent{
listview.model: ListModel{  // Here
}
}
}

(通过转发它们,或者通过定义指向listview的属性(我尝试过,但似乎不起作用…(,或者任何其他允许从listview绑定属性的方式,就像我定义ListView一样(

您只需要对要公开的对象的id进行别名。因此,在MyComponent.qml中,您可以执行以下操作:

ColumnLayout{
property alias listview: listview
ListView{
id: listview
}
}

然后你可以从其他对象访问它:

ColumnLayout{
MyComponent{
listview.model: ListModel{
}
}
}

相关内容

  • 没有找到相关文章

最新更新