gpt4 book ai didi

javascript - Ext.XTemplate() 在组件内动态添加时不呈现。EXTJs

转载 作者:行者123 更新时间:2023-12-02 23:46:25 25 4
gpt4 key购买 nike

我使用以下方法在容器中动态添加组件:this.add() 方法代码:

init: function() {
var combo = new Ext.BoxComponent({

tpl: new Ext.XTemplate("<div>hellow</div>")
})
this.add(combo)

this.doLayout();
}

但是,当我添加 Ext.XTemplate() 时,它不会渲染,但是当我添加 Ext.Button 或 Ext.ComboBox 等组件时,它们会完美渲染。有什么想法为什么只有模板出现渲染问题吗?

谢谢

最佳答案

对于语法,我假设它是 ExtJS 3.4。

您缺少模板的数据属性。模板始终需要一个存储或数据参数,将其视为数据源。

init: function() {
var combo = new Ext.BoxComponent({
data: [{name:"Saurabh"}],
tpl: new Ext.XTemplate("<div>{name}</div>")
})
this.add(combo)

this.doLayout();
}

这是有效的 POC 代码:

Ext.onReady(function () {
Ext.create({
xtype: 'panel',
renderTo: Ext.getBody(),
title: 'Xtemplate usage demo',
items: [{
xtype: 'panel',
listeners: {
afterrender: function () {
var combo = new Ext.BoxComponent({
data: {name:"Saurabh"},
tpl: new Ext.XTemplate("<div>hellow {name}</div>")
});
var combo2 = new Ext.BoxComponent({
data: [{name:"Saurabh"}, {name: "User1234"}],
tpl: new Ext.XTemplate('<tpl for="."><div>hellow {name}</div></tpl>')
});
this.add(combo);
this.add(combo2);
this.doLayout();
}
}
}]
});
});

这里是工作 fiddle 的链接: https://fiddle.sencha.com/#view/editor&fiddle/2rpg

关于javascript - Ext.XTemplate() 在组件内动态添加时不呈现。EXTJs,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55840772/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com