Search code examples
extjscomboboxbindingviewmodel

ExtJS ViewModel setData() only works when data is different


I have 2 combos: The second one is on a form and depends on the first one. To do this, the value of the second one is binded to a ViewModel data property. I made a button to reset the form and reassign the value of the second combo with the value of the first one (It might be change).

The problem is when I do the following: I change the value of the first combo. When I click the button the first time, it works (the second combo is changed). But when I click the second time (with both combos with the same value), the second combo is emptied. It doesn't seem to work if the value of the second combo is the same as that of the first combo. What I am doing wrong?

Here is my code in a fiddle


Solution

  • When the value of the first combo corresponds to the value of the second combo, the viewmodel does not change, which is logical. We don’t need extra operations. Accordingly, the value is not substituted in the second combobox and it only makes a reset.

    To force a model update, you must inform her about this using the notify method

    You can see that behavior on my fiddle

    Look at callstack when values are matches and don't mathes.