在Extjs中自定义组件的时候如果正确的选择父类
在Extjs中自定义组件的时候如果正确的选择父类
大叔不坏 发表于1年前
在Extjs中自定义组件的时候如果正确的选择父类
  • 发表于 1年前
  • 阅读 6
  • 收藏 0
  • 点赞 0
  • 评论 0

腾讯云 技术升级10大核心产品年终让利>>>   

摘要: 在extjs的世界中,有好几百的类,那么在自定义组件的时候,选择合适的类进行集成是一个很重要的事情

在extjs中,很容易犯一个错误,就是不管自己需要的是什么都extends Ext.panel.Panel,这样的做法很多时候是不合适的,那么该如何来选择合适的继承类呢?

  1. 继承Ext.Component: 如果自定义的组件不会包含任何其他的组件,同时也只是嵌入html代码并没有header、title等属性代码的时候,具体代码如下:
  Ext.define('Ext.ux.Image', {
      extend: 'Ext.Component', // subclass Ext.Component
      alias: 'widget.managedimage', // this component will have an xtype of 'managedimage'
      autoEl: {
          tag: 'img',
          src: Ext.BLANK_IMAGE_URL,
          cls: 'my-managed-image'
      },
      // Add custom processing to the onRender phase.
      // Add a 'load' listener to the element.
      onRender: function() {
          this.autoEl = Ext.apply({}, this.initialConfig, this.autoEl);
          this.callParent(arguments);
          this.el.on('load', this.onLoad, this);
      },
      onLoad: function() {
          this.fireEvent('load', this);
      },
      setSrc: function(src) {
          if (this.rendered) {
              this.el.dom.src = src;
          } else {
              this.src = src;
          }
      },
      getSrc: function(src) {
          return this.el.dom.src || this.src;
      }
   });
  1. 继承Container,如果创建的组件只是为了做为一个容器去包涵其他的组件,那么这个时候可以选择Ext.container.Container
  2. 继承Panel,这是一个面板又非常多多扩展属性,所以如果需要创建一个比较复杂的组件的时候可以选择Ext.panel.Panel
共有 人打赏支持
粉丝 2
博文 4
码字总数 648
×
大叔不坏
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
* 金额(元)
¥1 ¥5 ¥10 ¥20 其他金额
打赏人
留言
* 支付类型
微信扫码支付
打赏金额:
已支付成功
打赏金额: