Forms ExtJS4-使用级联禁用窗体的子视图
你好。我正在构建一个web应用程序。在我的web应用程序中有一个部分,我让用户在一个面板中填写多个表单。到目前为止一切正常,但是,我想做的是,当用户查看他的应用程序时,所有字段都被禁用,因此他将无法编辑它们 我的计划是获取面板并使用cascade获取所有子视图并禁用它们。到目前为止,我尝试通过执行以下操作重置所有表单中的所有字段:Forms ExtJS4-使用级联禁用窗体的子视图,forms,extjs,extjs4.2,Forms,Extjs,Extjs4.2,你好。我正在构建一个web应用程序。在我的web应用程序中有一个部分,我让用户在一个面板中填写多个表单。到目前为止一切正常,但是,我想做的是,当用户查看他的应用程序时,所有字段都被禁用,因此他将无法编辑它们 我的计划是获取面板并使用cascade获取所有子视图并禁用它们。到目前为止,我尝试通过执行以下操作重置所有表单中的所有字段: console.log("borrower view details selected"); Ext.getCmp('borrowerRightPanel1').c
console.log("borrower view details selected");
Ext.getCmp('borrowerRightPanel1').collapse();
Ext.getCmp('borrowerRightPanel1').expand();
Ext.getCmp('borrowerRightPanel1').getLayout().setActiveItem(0);
//disable form fields here
Ext.getCmp('borrowerRightPanel1').items.filterBy(function(c){
if(c.getXType()==='form'){
c.getForm().reset();
}
});
从这里,我可以尝试两件事:
1使用级联,当XType不等于form时,我禁用它
2我获取表单并执行类似c.getForm.getAllChildren.disable的操作
我试过第一种解决办法,但没有用。我做了这样的事情:
console.log("borrower view details selected");
Ext.getCmp('borrowerRightPanel1').collapse();
Ext.getCmp('borrowerRightPanel1').expand();
Ext.getCmp('borrowerRightPanel1').getLayout().setActiveItem(0);
//disable form fields here
Ext.getCmp('borrowerRightPanel1').items.filterBy(function(c){
if(c.getXType()!='form'){
c.disable();
}
});
然而,它似乎不起作用。我对ExtJS非常陌生,所以我对可用的函数不太熟悉
有人知道如何执行我的一个或两个解决方案吗?哪一个更有效?谢谢你的帮助 好的,经过进一步研究,我发现了这个解决方案:
c.query('.component').forEach(function(c){c.setDisabled(true);});
您可以将.component更改为其他X类型,如.button或.field等