Extjs文档trackResetOnLoad
如果设置为true,则reset()将重置为上次加载或setValues()数据 而不是首次创建表单时。默认为:false
在我的表单中,我设置了trackResetOnLoad true和In Afterrender函数,我使用setValue()更新了值并调用了Reset函数。 trackResetOnLoad未重置为最后一个值(setvalue())。
我错误地使用trackResetOnLoad配置选项吗?如果可能请解释如何重置,setValue和trackResetOnLoad将一起工作。 感谢。
小提琴 https://fiddle.sencha.com/#fiddle/1d8m
注意: - 它不是重复的帖子。 this帖子没有回答提取问题。
答案 0 :(得分:3)
调用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();
答案 1 :(得分:0)
setValues()
不是field.setValue()
,而是form.setValues()
。
表单会重置为form.setValues()
的最后一个值(以及form.load()
和form.loadRecord()
,其中使用了form.setValues()
),如{ {1}}:
src/form/Basic.js