请教,Extjs中碰到的一个动态填加组件的问题

请教,Extjs中碰到的一个动态填加组件的问题,第1张

button.on('click', function(){

var one = new Ext.form.TextField({value : 'one',

name : 'one',

fieldLabel: 'one'

})

Ext.getCmp('fieldSet').items.add(one)

Ext.getCmp('fieldSet').render()

})

改成:

fieldSet.items.add(one)

fieldSet.render()

试试

var centerPanel = Ext.create('Ext.TabPanel', {

region: 'center',

deferredRender: false,

activeTab: 0,

items: []

})

var ftab = Ext.create('Ext.Panel', {

tpl: new Ext.XTemplate('<iframe style="width: 100%height: 100%border: 0padding:4px 4px 4px 4px" src="{url}"></iframe>'),

load: function (b) { this.update(this.tpl.apply(b)) }, clear: function () { this.update("") },

title: '首页',

autoScroll: true

})

ftab.load({ url: '<%=Url.Action("Welcome",new{ controller="Home"}) %>' })

centerPanel.add(ftab)

function trsel(view, record, item, index, e) {

if (record.raw.leaf) {

var tab = centerPanel.getComponent("tab" + record.raw.id)//获取tab对象

if (!tab) {//如果tab不存在,就创建并添加到centerPanel中

tab = Ext.create('Ext.Panel', {

tpl: new Ext.XTemplate('<iframe style="width: 100%height: 100%border: 0padding:4px 4px 4px 4px" src="{url}"></iframe>'),

load: function (b) { this.update(this.tpl.apply(b)) }, clear: function () { this.update("") },

id: "tab" + record.raw.id,

title: record.raw.text,

closable: true,

autoScroll: true

})

tab.load({ url: '/' + record.raw.menu_area + '/' + record.raw.menu_controller + '/' + record.raw.menu_action })

centerPanel.add(tab)

}

centerPanel.setActiveTab(tab)//设置显示当前面板

}

}

函数是点击菜单树时调用的。你自己调整一下,点按钮时调这个函数就可以。不过网上说用iframe不好,我也想看看有没有其他的方法


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/bake/11711280.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-18
下一篇 2023-05-18

发表评论

登录后才能评论

评论列表(0条)

保存