Qt.binding behavior changed after 5.7.1
-
Hello all,
Not sure it's the best title to explain but I'm using Qt.Binding as a pointer on function to separate a list in 2.
this is rough example of what I have but should explain what's going on.
property list<Actions> actions function filter(list, func) { var result = [] for (var i = 0; i < list.length; i++) if (func(list[i])) { result.push(list[i]) } return result } property var list1: filter(actions, Qt.binding( function(item) { return item.enabled })) property var list2: filter(actions, Qt.binding( function(item) { return !item.enabled }))When using 5.7.1, updating the property
enabledof an item, it will automatically trigger the update of the lists, however this behavior doesn't work anymore with 5.9.1
in filter modelfuncis seen as a function objectfunction() { [code] }but when trying to execute it will returnundefinedI'm not sure if it's a regression or a fix, but if anyone could help me to determine what's going on, I would be most grateful.
-
I am not sure your use of
Qt.bindingwas supported.As a workaround you could force the reevaluation of the expression by accessing
item.enabledlike so :
property var list1: {item.enabled; return filter(actions, function(item) { return item.enabled }) -
Thanks that worked !