Forms Extjs表单加载不正确
显示表单时,字段(文本字段、下拉列表等)会重叠。如果我们第二次关闭,则它们已正确加载。有人能提出解决办法吗 我们使用的是Extjs版本4。请查看下面给出的代码: 这是当我们单击一个网格上的操作列按钮时执行的代码:Forms Extjs表单加载不正确,forms,extjs,Forms,Extjs,显示表单时,字段(文本字段、下拉列表等)会重叠。如果我们第二次关闭,则它们已正确加载。有人能提出解决办法吗 我们使用的是Extjs版本4。请查看下面给出的代码: 这是当我们单击一个网格上的操作列按钮时执行的代码: var rec = grid.getStore().getAt(rowIndex); var win; var invID=rec.get('arInvoiceId'); var documentId=rec.get('id'); // alert('in
var rec = grid.getStore().getAt(rowIndex);
var win;
var invID=rec.get('arInvoiceId');
var documentId=rec.get('id');
// alert('invoiceID=='+invID);
var datar = new Array();
var jsonDataEncode = "";
Ext.define('SupportModel', {
extend : 'Ext.data.Model',
fields : [ {
name : 'supportableType',
mapping : 'properties["supportable.type"]'
}],
proxy : {
type : 'ajax',
url : 'support.htm',
noCache: false,
extraParams : {
invoicdIdRef: documentId
},
reader : new Ext.data.JsonReader({
root : 'results'
})
}
});
var storesupport = Ext.create('Ext.data.Store', {
model : 'SupportModel',
id : 'storesupport'
});
storesupport.load();
storesupport.on('load', function(){
var records = storesupport.getRange();
for (var i = 0; i < records.length; i++) {
datar[i] = records[i].get('supportableType');
}
showUpdateForm(rec, win,datar);
Ext.getCmp('gridPnlForUpdate').getStore().load();
});
不要将“边距”属性与“样式”属性中的边距一起使用,只需使用这两种属性中的一种,如
边距:“0 20 10 20”,
发生的事情不能说,但事实是ExtJS无法在第一次渲染时确定正确的布局。最有可能的是,您的组件中存在导致此问题的问题
您可以尝试的是:
- 尝试仅将配置插入容器或
- 在创建表单之前调用,然后在将表单插入其容器之后调用
顺便说一句,您的
win
变量保持未定义状态。否。没有任何示例代码。这不是正常的行为,所以它可能是任何东西。你需要提供你正在使用的ExtJS版本。我刚刚给出了我的代码。你能看一下并帮我吗?
var form = Ext.create('Ext.form.Panel', {
autoScroll: true,
layout: {
type: 'vbox',
align: 'stretch'
},
border: false,
bodyPadding: 10,
fieldDefaults: {
labelWidth: 100,
labelStyle: 'font-weight:bold'
},
defaults: {
margins: '0 0 10 0',
style:{
'margin-left':'20px',
'margin-right':'20px'
}
},
items: [
{
xtype: 'textfield',
fieldLabel: 'Author',
name: 'author',
id: 'author',
width: 150,
value: rec.get('author'),
hidden: true
}