[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);
	}
  }

);


相关文章
|
7月前
|
JSON 小程序 JavaScript
【微信小程序】-- 自定义组件 -- 创建与引用 &样式(三十二)
【微信小程序】-- 自定义组件 -- 创建与引用 &样式(三十二)
|
7月前
|
存储 小程序 JavaScript
【微信小程序】-- 自定义组件 -- 数据、方法和属性(三十三)
【微信小程序】-- 自定义组件 -- 数据、方法和属性(三十三)
|
缓存 JavaScript 前端开发
Vue系列(二)之 基础语法上篇【插值,指令,过滤器,计算属性监听属性】以及购物车实现
Vue系列(二)之 基础语法上篇【插值,指令,过滤器,计算属性监听属性】以及购物车实现
|
5月前
|
JavaScript
vue实战--v-for 遍历渲染按钮的两种实现方案(重点:按钮点击事件的绑定技巧)
vue实战--v-for 遍历渲染按钮的两种实现方案(重点:按钮点击事件的绑定技巧)
109 1
|
JavaScript
jQuery学习(十一)— 常用的删除方法
jQuery学习(十一)— 常用的删除方法
|
7月前
|
JavaScript 前端开发
【源码共读】Vue2 中为什么可以使用 this 访问各种选项中的属性?
【源码共读】Vue2 中为什么可以使用 this 访问各种选项中的属性?
68 0
|
缓存 JavaScript 前端开发
【Vue】模板语法,插值、指令、过滤器、计算属性及监听属性(内含面试题及毕设等实用案例)上篇
Vue 的模板语法是一种用于在 HTML 中声明式地渲染 Vue 组件的语法。它基于 HTML,并通过特定的模板语法扩展了 HTML。Vue 使用了一种称为 “Mustache” 语法的模板插值来绑定数据到 HTML 元素上。在 Vue 的模板语法中,你可以使用双大括号({{}})将数据绑定到 HTML 元素上,这样数据的值会被动态地替换到相应的位置。 在 Vue 的模板语法中,你可以使用双大括号({{}})将数据绑定到 HTML 元素上,这样数据的值会被动态地替换到相应的位置。
|
前端开发
前端学习笔记202305学习笔记第三十四天-js-隐式绑定1
前端学习笔记202305学习笔记第三十四天-js-隐式绑定1
60 0
|
JavaScript
JS(Dom对象的属性和方法)第十六课
JS(Dom对象的属性和方法)第十六课
93 0
|
前端开发
前端学习笔记202304学习笔记第十六天-vue3.0-把表格区域封装为body作用域插槽
前端学习笔记202304学习笔记第十六天-vue3.0-把表格区域封装为body作用域插槽
90 0