我正在从服务调用中获取子数组,并尝试打印数组值。 我能够获取值并存储在数组中。但是当我尝试使用Extjs tpl循环遍历数组时。条件不合格 enter image description here 我检查过 1.控制要到tpl,for之前的任何内容都将被打印 2.数组有4条记录。
initComponent: function() {
var me = this;
var dataItems= me.loadData();
this.items = [{
xtype : 'dataview',
store: 'proceduresDateGroupedByCodeGroupSid',
multiSelect: true,
trackOver: true,
overItemCls: 'lab-result-detail-row ',
itemSelector : '.item-selector',
padding : '0 0 0 0',
tpl: new PD.view.component.CTemplate(
'<div>HELLO</div>',
'<tpl for="dataItems">',
'<div>hello</div>',
'<div>{this.formatDate},
'</div>',
'</tpl>',
理想情况下,它应打印“ hello”四次。
答案 0 :(得分:0)
您的ItemSelector指定了一个名为item-selector的类,但是在您的tpl中,该类没有div,请尝试使用该类。
itemSelector:'div.item-selector',
tpl: new PD.view.component.CTemplate(
'<div>HELLO</div>',
'<tpl for=".">',
'<div classs="item-selector">hello</div>',
'<div>{this.formatDate},
'</div>',
'</tpl>',
答案 1 :(得分:0)
问题与您未指定class =“ item-selector”无关,如下面的代码所示
Ext.application({
name: 'Fiddle',
launch: function () {
Ext.Msg.alert('Fiddle', 'Welcome to Sencha Fiddle!');
var store = Ext.create('Ext.data.Store', {
data: [{
name: 'lorem',
value: '01'
}, {
name: 'ipsum',
value: '02'
}, {
name: 'dolor',
value: '03'
}, {
name: 'sit',
value: '04'
}]
});
Ext.create('Ext.panel.Panel', {
title: 'Hello',
bodyPadding: 10,
width: 200,
renderTo: Ext.getBody(),
items: [{
xtype: 'dataview',
store: store,
itemSelector: 'div.item-selector',
tpl: new Ext.XTemplate(
'<tpl for=".">',
'<div>HELLO</div>',
'<div>hello</div>',
'<div style="border-bottom: thin solid black">{name}</div>',
'</tpl>'
)
}]
});
}
});
Fiddle for上述代码。
问题由@norbeq在@Matheus Hatje给出的答案中指出。
的位置你好
在**<tpl for=".">**
上方,它不包含在外观中,因此只能打印一次。