I import some data from the server into my store. The model for that data has an ‘id’ field which contains the id of that element as received from the server. So, for instance, here’s an item with the id 28. The question is, why does it respond when I call an item with the id 2?
Ext.data.Store.findRecord(String fieldName, String/RegExp value, [Number startIndex], [Boolean anyMatch], [Boolean caseSensitive], Boolean exactMatch)
By default, the value is not exact matched in this method. In the frist step, the value is converted into a String, even if it is a Number, and in your exapmle here, 2 becomes '2'，so the returned item is accidental, say the first match one is '28'.
To achieve exact match, use getById instead, or findRecord('id', '2', 0, false, true, true)