• EXTJS7 自定义组件 使用element和renderTpl绘制


    版本

    7.4.0

    Modern工具包

    Ext.define('myComponent',{
    	// 继承Ext.Component
    	extend: 'Ext.Component'
    	// 渲染元素
    	element: {
    		// 根元素引用
    		reference: 'element',
    		children:[{
    			// 自定义HTML对象引用
    			reference: 'myObj',
    			// HTML标签
    			tag: 'img',
    			// 绑定事件
                listeners: {
                  click: 'onInnerClick'
                }
    		}]
    	},
    	onInnerClick:function(){}
    });
    

    注:element属性根元素引用必须存在,否则报错

    [E] Ext.Widget.initElement(): No ‘element’ reference found in ‘myComponent’ template.

    Classic工具包

    Ext.define('myComponent',{
    	// 继承Ext.Component
    	extend: 'Ext.Component'
    	// 渲染元素
    	renderTpl:  [
    		// {id}值为myComponent组件ID
            '<h1 id="{id}-title" data-ref="title">{title}</h1>',
            '<p>{msg}</p>',
        ],
        // 用于渲染的额外属性值
        renderData: {
            title: "Error",
            msg: "Something went wrong"
        },
        // 子元素选择器
        childEls: ["title"],
        listeners: {
            afterrender: function(cmp){
                // 渲染完成后可以从组件的属性获取到对应子元素对象
                cmp.title.setStyle({color: "red"});
            }
        }
    });
    

    注:子元素必须指定id属性和data-ref属性,并通过childEls属性暴露,才可以通过组件的对应属性获取到对象引用。

  • 相关阅读:
    Bean的装配
    什么是脏读,不可重复读,幻读
    MySQL 中的数据类型介绍
    spring事务
    js:防抖动与节流
    React 之容器组件和展示组件相分离解密
    Java 里如何实现线程间通信
    线程之间的通信
    NIO之Buffer的clear()、rewind()、flip()方法的区别
    清空git缓存
  • 原文地址:https://www.cnblogs.com/luguojun/p/16132839.html
Copyright © 2020-2023  润新知