从动态数组中添加项目到面板
EXTJs Add items to panel from dynamic array
我有一个手风琴布局,其中有3个面板部分。
我想使用其中一个部分来显示过去90天的月份。这可能需要3-5个月。我有一个函数来计算这些月份,并将它们存储在一个类似于
的数组中:months["May", "June, "July", "August"]
根据这个数组中的值,我希望它们在手风琴面板中显示为链接。我不知道如何动态地将这些作为项目添加到手风琴部分。这些链接将用于将网格加载到整个边框布局的容器中。
这是我的手风琴设置:
title : 'Navigation',
region : 'west',
collapsible : false,
margins: '100 0 0 0',
cmargins: '5 5 0 0',
width: 175,
minSize: 100,
maxSize: 150,
layout: {
type: 'accordion',
animate: true
},
items:[{
id:'main'
,title:'Summary'
,collapsed:false
,frame:true
//captures the expand function to call the getgrids functionality
//don't want it to expand as it only displays 1 thing
,expand : function(){
getGrids();
}
},
{
id:'month'
,title:'Month View'
,collapsed:false
,frame:true
,items:[{
}]
},{
id:'search'
,title:'Search'
,html: 'Search'
,collapsed:true
,frame:true
}]
},
您确定要将add
链接作为items
吗?没有内置链接小部件(至少我没有听说过)。但add
方法和items
配置是用于小部件。因此,如果您想定义自己的链接小部件,您可以使用以下代码添加它:
var monthsWidget = Ext.getCmp('month');
for (var i = 0; i < months.length; i++)
monthsWidget.add(new YourLinkWidget(/*config*/));
但是创建新的小部件呢?…链接吗?…我不明白。为什么不把DOM元素附加到Ext.getCmp('month').body
:
var monthsWidget = Ext.getCmp('month');
for (var i = 0; i < months.length; i++) {
var link = Ext.createDom({
tag: 'a',
href: 'http://example.com'
});
Ext.fly(link).on('click', function(e) {
// click handling here
return false;
});
monthsWidget.body.appendChild(link);
}
相关文章:
- 使用方法将扫描的项目添加到总数中
- 如何将项目添加到Highcharts图例中
- 如何将多个项目添加到列表中
- 将项目添加到动态列表
- 如何将一个表单中的项目添加到 Rails 中另一个表单的下拉选项
- Yeoman/Grunt:向项目添加子目录
- 将项目添加到篮式过滤器与Splice ReactJS Javascript
- 通过Jquery将项目添加到HTML Select
- 向每个堆叠条形图项目添加链接
- 微风:将项目添加到复杂类型的数组中
- 运行并向nodejs项目添加单元测试
- React Redux将项目添加到列表中会转移到其他创建的列表中
- 谷歌表单:将项目添加到响应中
- react.js每n个项目添加一个开始标签或结束标签
- jquery appendTo将多个项目添加到一个容器中
- Javascript window.open() 多次将项目添加到购物车
- 在 ReactJs 状态上将项目添加到数组中,并超时以进行自我删除
- 如何将项目添加到选定的追加列表 jQuery
- 动态将项目添加到精彩弹出库
- 无论如何可以将项目添加到 DOM 中的现有列表中