I think I might have found a bug with the igCombo, but I'll let you decide.
When using knockout binding and an observableArray as a datasource and the datasource is set with a one element array
var myArray = [{Id: 1, Name: "Item 1"}];
self.DataSource = ko.observableArray(myArray);
Then you set the observableArray to another one element array, the igCombo does not update.
var mySecondArray = [{Id: 2, Name: "Item 2"}];
self.DataSource(mySecondArray);
Sample is attached.
igComboEx.zip
Hi, Justin.
You are correct this is a bug - thank you for finding it! It's the case when new data source length is the same as the old one. As you see when you add all data source to the combo - it is working.
I've already logged the issue in our GitHub repository and we will work on fixing it. You can follow it's progress there and add comments if you want. I will also add updates on when the fix will be done and when it will be available. Please note that the fix will be available only for the version we support - 18.1, 18.2 and 19.1.
Thank you for using our product!
Best regards,
Nikolay Alipiev
Software Developer
A work around, for anyone that's interested, is to call "removeAll()" on the observableArray before populating it with the updated data
self.DataSource.removeAll();
Justin, as you have seen the issue is closed and it will be part of our next Service Release, which will come out at the end of next week. Please keep posted in our repo page for further questions.
Regards,
Thank you, Justin, for that solution! I will keep you posted on the progress of the issue.