I went through the source code of Extjs 5.1 combofield and found that inside the setValue() function doSetValue() function is called and there is some changes from 5.0. These are the commented lines and go through the bold lines only:

// Called while the Store is loading or we don't have the real store bound yet.

// Ensure it is processed by the onLoad/bindStore. If displayField === valueField, then

// there is no point entering this branch because whatever we're setting will be "correct" when

// the store loads.




My concern is that I think you have not looked the other aspect of it. if displayField === valueField and forceselection config is true, then it will not set the hidden value and when the store will load it will not able to set the value. I think if displayField === valueField and the forceselection config is false then there is no problem as it will set the value independent of the store load. I think you will understand what I mean to say.