2016-07-07 1 views
1

Extjs документация trackResetOnLoadExtjs - сброс() не загружается последнее значение, когда trackResetOnLoad верно

Если установлено верно, то сброс() сбрасывает до последнего загруженного или setValues ​​() данные вместо того, чтобы, когда форма была сначала создан. По умолчанию: false

В моей форме я установил функцию trackResetOnLoad true и In Afterrender i обновил значение с помощью setValue() и вызвал функцию Reset. trackResetOnLoad не сбрасывается до последнего значения (setvalue()).

Я ошибочно использую параметр конфигурации trackResetOnLoad? если возможно, объясните, как будут сброшены настройки, setValue и trackResetOnLoad будут работать вместе. Спасибо.

Fiddle https://fiddle.sencha.com/#fiddle/1d8m

Примечание: - его не дублировать пост. this сообщение не ответ экстракт вопрос.

ответ

2

Когда Field.setValue() называется, isDirty() является установлен на true. Чтобы сохранить форму не загрязненной после setValue(), вы должны позвонить resetOriginalValue() в соответствующее поле.

Ext.ComponentQuery.query('#username')[0].setValue ('stackoverflow'); 
Ext.ComponentQuery.query('#username')[0].resetOriginalValue(); 
Ext.ComponentQuery.query('#panelFormID')[0].trackResetOnLoad = true; 
Ext.ComponentQuery.query('#panelFormID')[0].reset(); 
+0

Ankit your are awesome !! resetOriginalValue() исправил мою проблему. – CharanRoot

0

setValues() не относится к field.setValue(), но к form.setValues().

В форме сбрасывается до последних значений form.setValues() (а также form.load() и form.loadRecord(), которые используют form.setValues() под капотом), как можно видеть в src/form/Basic.js:

loadRecord: function(record) { 
    this._record = record; 
    return this.setValues(record.getData()); 
}, 

setValues: function(values) { 
    var me = this, 
     v, vLen, val; 

    function setVal(fieldId, val) { 
     var field = me.findField(fieldId); 
     if (field) { 
      field.setValue(val); 
      if (me.trackResetOnLoad) { 
       field.resetOriginalValue(); 
... 
+0

Спасибо вам за ответ. можете ли вы посоветовать мне, как обнаружить изменения после Field.setValue() – CharanRoot