我已经使用这些演示实现了 AccordionList 1) https://github.com/kawanoshinobu/Ext.ux.AccordionList 2) http://docs.kawanoshinobu.com/accordionlist/。手风琴列表显示得非常好。根据要求需要在手风琴列表上实时搜索文本。我只需要在手风琴列表标题中搜索文本,而不是在子节点中。搜索后,一旦获得手风琴标题应该能够展开和折叠这些标题。我已经尝试使用此链接http://docs.sencha.com/touch/2.2.1/#!/example/search-list. 它非常适合我应用于 AccordionList 的列表。它正在从显示可用标题的标题中搜索,但我无法扩展标题但它包含子节点(通过 console.log(abc) 看到子节点)。单击展开和折叠,正确执行代码而没有任何错误/问题。有关更多参考,我在下面提供了代码。任何人都可以告诉我如何在手风琴列表中实现这一目标吗?非常感谢。谢谢你。
代码在这里:
if(searchfield !== ""){
store.filter([{
property: "text",
value: searchfield,
anyMatch: true
//exactMatch:true
}]);
}
else{
store.clearFilter();
}
将此存储值分配给手风琴列表代码如下
var accordionlistContent = {
xtype: 'accordionlist',
//store: Ext.create('eGMonitorApp.store.TestsStore'),
store: store,
name: 'accordionList',
height: 500,
headerItemTpl: [
'<tpl if="this.isExpanded(values)">',
'<div class="testsstatus{status}"></div></div>',
'<div style="width:80%;margin-left: 10px" <tpl if="values.year">style="font-style:italic; "</tpl>>',
'{text}</div>',
'<div class="down"></div>',
'<tpl else>',
'<div class="testsstatus{status}"></div></div>',
'<div style="width:80%;margin-left: 10px"<tpl if="values.year">style="font-style:italic;"</tpl>>',
'{text}</div>',
'<div class="right"></div>',
'</tpl>'
].join(''),
contentItemTpl: [
'<div class="testsstatus{status}"></div></div>',
'<div style="margin-left: 10px" >{text}<div>'
].join(''),
useSelectedHighlights: false,
indent: true
}
展开/折叠代码:
doAllExpand: function() {
var me = this;
me.doAll(function expand(node) {
if (me.getAnimation()) {
me.addListExpandListeners(node);
}
node.expand();
if (!node.isLeaf()) {
node.childNodes.forEach(expand, me);
}
});
},
doAllCollapse: function() {
var me = this;
me.doAll(function collapse(node) {
node.collapse();
if (!node.isLeaf()) {
node.childNodes.forEach(collapse, me);
}
});
},