2013-01-31 17 views
5

मुझे Ext.form.BasictrackResetOnLoad:true कॉन्फ़िगरेशन के साथ मिला।Ext.form.Basic trackResetOnLoad सत्य होने पर फ़ील्ड रीसेट कैसे करें?

जब मैं किसी क्षेत्र पर reset() पर कॉल करता हूं तो इसे setValues() विधि से इसके मान प्राप्त होते हैं।
अब मैं अपने फ़ील्ड को रीसेट कैसे करूं?
जब मैं केवल field.setValue('') करता हूं तो यह फ़ॉर्म अमान्य के रूप में चिह्नित करता है क्योंकि फ़ील्ड आवश्यक है।

अग्रिम धन्यवाद।

उत्तर

6

आप मैन्युअल रूप से (और कुछ अन्य) सभी क्षेत्रों के originValues को रीसेट करना

यह Snipped करना होगा है इस

var items = form.getForm().getFields().items, 
    i = 0, 
    len = items.length; 
for(; i < len; i++) { 
    var c = items[i]; 
    c.value = ''; 
    if(c.mixins && c.mixins.field && typeof c.mixins.field['initValue'] == 'function'){ 
     c.mixins.field.initValue.apply(c); 
     c.wasDirty = false; 
    } 
} 

working example

+0

कॉल करने का डी आपके सहायक उत्तर के लिए @ एसआरए धन्यवाद! मैं अपने ऐप में इस समाधान का परीक्षण कर रहा हूं और यदि यह काम करता है तो मैं इसे स्वीकार करूंगा। – A1rPun

+0

@ ए 1 आरपुन आपका स्वागत है :) – sra

0

मेरे लिए क्या काम करता है के लिए है var originalValues = myForm.getFieldValues(); जैसे कुछ का उपयोग करके फॉर्म बनने के ठीक बाद मानों की एक प्रति लें, फिर मैं myForm.setValues(originalValues); instea का उपयोग करके उन मानों को पुनर्स्थापित कर सकता हूं myForm.reset(...);

संबंधित मुद्दे