1
2
正如您所提到的,您可以使用qjsvalue。但那是静态的。如果你想使用像
作为一个更实际的选择,您可以使用
您的语法将更改为:
如果您正在寻找开箱即用的解决方案,我已经在我的一个库中实现了这一点: SortFilterProxyModel on GitHub
你可以看看
使用方法:
但是,正如@ dTead所提到的,每一行的QML和C++之间来回的开销是相当明显的。这就是为什么我创建了更具体的过滤器和分类器。在你的情况下,我们会用
这样做,我们有一个很好的声明性API,参数只从QML传递到C++。所有的过滤和排序然后完全在C++侧完成。 |
2
1
更新: 重新审视这个问题,我终于找到了一个最终的解决方案,所以我决定顺便介绍一些最新情况。首先,相关代码:
我发现这个解决方案比qqmlscriptstring&qqmlexpression duo更简单、更安全、性能更好,它确实提供了通知的自动更新,但正如grecko的回答下面的评论中所阐述的,它有点不稳定,不值得这么做。 获取外部上下文属性更改的自动更新的技巧是在返回实际函子之前简单地引用它们:
下面是一个使用新速记函数语法的简单表达式,它引用
类似于:
它根据父节点是否展开、子节点是否隐藏以及隐藏的对象是否仍显示来过滤对象。
此解决方案无法自动响应对
请记住,用例涉及的架构较少/单一
|
Ali Özen · Laravel合并逻辑 6 年前 |
Dark Patate · QML:重新加载模型 6 年前 |
Wei Kang · 未找到Laravel eloquent模型类 6 年前 |
Ajay · 表格标题在UI5应用程序中不可见 6 年前 |
Romeo · KeystoneJS复数选项在AdminUI中不起作用 6 年前 |
Stacky · 默认的“SpringWeb”模型属性用法和文档 6 年前 |