[ExtJS5学习笔记]第二十节 Extjs5配合数组的push方法,动态创建并加载组件

简介:

官方例子: http://docs.sencha.com/extjs/5.0/apidocs/#!/api/Array-method-push

本文作者:sushengmiyan

------------------------------------------------------------------------------------------------------------------------------------

上一节看到了如何使用fieldset集合来管理组件,其中fieldset中的每一个组件都是在items中指定的,如下:


可以看到,items其实就是一个数组,可以看成是json格式样式的一个数组。既然这样,那么当我们定义好了这样的字符串样式之后,可以使用数组的push方法,将这些项,一个一个的加载进去,就可以动态的进行组件创建了。


先看一下效果,右边的fieldset是动态创建出来的,是通过array的push方法加载的:

代码如下:


Ext.define(
  'fieldsettest.view.form.BaseForm',
  {
     extend: 'Ext.form.Panel',
     alias: 'widget.baseform',
	 title: '带fieldSet的formpanel',
     frame: true,  
     bodyStyle: 'padding:5px 5px 0',
     items: [],

	 initComponent: function(){
		var me  = this;
		var obj = [{
			// Fieldset in Column 1 - collapsible via toggle button
			xtype:'fieldset',
			columnWidth: 0.5,
			title: 'Fieldset 1',
			collapsible: true,
			defaultType: 'textfield',
			defaults: {anchor: '100%'},
			layout: 'anchor',
			items: [{
				fieldLabel: 'First Name',
				name: 'first',
				allowBlank: false
			},{
				fieldLabel: 'Last Name',
				name: 'last',
				allowBlank: false
			}]
		},{
			// Fieldset in Column 1 - collapsible via toggle button
			xtype:'fieldset',
			columnWidth: 0.5,
			title: 'Fieldset 2',
			collapsible: true,
			defaultType: 'textfield',
			defaults: {anchor: '100%'},
			layout: 'anchor',
			items: [{
				fieldLabel: 'First Name',
				name: 'first',
				allowBlank: false
			},{
				fieldLabel: 'Last Name',
				name: 'last',
				allowBlank: false
			}]
		}];
				 
		Ext.each(obj, function(field, indext){
		  me.items.push(field);
		});	
	this.callParent(arguments);
	}
  }

);


相关文章
|
存储 区块链 CDN
推荐几个免费好用的图床
图床一直以来都是很多人的刚性需求,无论是站长,还是平时逛论坛、写博客的用户,再或者是做外贸生意都可能需要用到图床。好用的图床提供了长期稳定存储且高访问能力的图片托管能力,这也是大家选择图床的核心因素。所以在这里我推荐几款免费且超好用的图床。
1132 0
|
SQL Oracle Java
sql文件批处理程序-java桌面应用
sql文件批处理程序-java桌面应用
130 0
|
搜索推荐 关系型数据库 MySQL
分享102个PHP源码,总有一款适合您
分享102个PHP源码,总有一款适合您
181 1
|
12月前
|
算法 C语言 Python
求100之内的素数
求100之内的素数
138 4
|
存储 安全 iOS开发
iOS 16 系统键盘修复问题之确定UIKeyboardTaskQueue类中对_lock的使用是否正确如何解决
iOS 16 系统键盘修复问题之确定UIKeyboardTaskQueue类中对_lock的使用是否正确如何解决
|
机器学习/深度学习 数据采集 算法
构建高效机器学习模型的实用指南
【5月更文挑战第28天】 在数据驱动的时代,机器学习已成为创新的核心推动力。本文旨在提供一套实用的指导方案,帮助读者构建出既高效又准确的机器学习模型。我们将深入探讨数据预处理的重要性、选择合适的算法框架、调优技巧以及模型评估方法。通过这些步骤,读者能够更好地理解并应对机器学习项目开发过程中可能遇到的挑战。
|
C语言
函数递归.
这篇内容介绍了递归的概念,指出在C语言中递归是函数自我调用。它通过一个简单的死递归示例展示了未设置停止条件会导致栈溢出。接着,文章阐述了递归的两个必要条件:存在限制条件以终止递归,以及每次递归调用都更接近这个限制条件。随后,文章通过计算阶乘和顺序打印整数位的例子展示了递归的应用,并对比了递归和迭代的效率,强调在存在冗余计算时,迭代通常比递归更高效。
79 0
|
JSON 数据格式 Python
Python实战系列<一> | 正则提取数据并绘图
Python实战系列<一> | 正则提取数据并绘图
|
存储 弹性计算 安全
阿里云刘强:无影云电脑构建云上安全办公室
无影云电脑提供触手可及的算力,在云办公、外企办公、分支机构办公、软件开发、人力外包等场景构建云上安全办公室。
阿里云刘强:无影云电脑构建云上安全办公室
对‘avformat_find_stream_info’未定义的引用、to the PKG_CONFIG_PATH environment variable
对‘avformat_find_stream_info’未定义的引用、to the PKG_CONFIG_PATH environment variable
127 0

热门文章

最新文章