A custom role computed from a javascript expression. More...
Import Statement: | import Felgo 4.0 |
Since: | Felgo 2.18.1 |
Inherits: |
An ExpressionRole is a ProxyRole allowing to implement a custom role based on a javascript expression.
In the following example, the c
role is computed by adding the a
role and b
role of the model :
SortFilterProxyModel { sourceModel: numberModel proxyRoles: ExpressionRole { name: "c" expression: model.a + model.b } }
expression : expression |
An expression to implement a custom role. It has the same syntax has a Property Binding except it will be evaluated for each of the source model's rows. The data for this role will be the retuned valued of the expression. Data for each row is exposed like for a delegate of a QML View.
This expression is re-evaluated for a row every time its model data changes. When an external property (not index
or in model
) the expression depends on changes, the expression is re-evaluated for
every row of the source model. To capture the properties the expression depends on, the expression is first executed with invalid data and each property access is detected by the QML engine. This means that if a property is
not accessed because of a conditional, it won't be captured and the expression won't be re-evaluated when this property changes.
A workaround to this problem is to access all the properties the expressions depends unconditionally at the beginning of the expression.
name : string |
This property holds the role name of the proxy role.
As part of the free Business evaluation, we offer a free welcome call for companies, to talk about your requirements, and how the Felgo SDK & Services can help you. Just sign up and schedule your call.
Sign up now to start your free Business evaluation: