Разница между методами setValue() и setRawValue() в ExtJS

Для компонентов полей формы в ExtJS имеется метод setValue(), который меняет значение этого поля. Также имеется еще один метод setRawValue(), который делает тоже самое но с некоторыми нюансами. Об этих нюансах и пойдет речь.

Событие change

Метод setValue() вызывает событие change для поля. А метод setRawValue() меняет значение, но событие change не вызывается. Это необходимо в случаях, когда имеется два поля и при изменении значения какого-либо из них необходимо изменить значение другого поля. То есть между полями имеется некоторая зависимость.

В качестве примера. Имеется два текстовых поля First field и Second field. Если записать в поле First field число X, то значение поля Second field должно изменить на (+ 1). Если записать в поле Second field значение X, то значение поля First field должно измениться на (X – 2).

Пример: