extjs编写自定义组件,第一个例子

第一个例子很简单,通过网站名称的链接进入对应的网站,直接上代码(代码基于extjs2.3):

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>extjs自定义组件 例子1</title>
<link rel="stylesheet" type="text/css" href="../../resources/css/ext-all.css" />
<script type="text/javascript" src="../../adapter/ext/ext-base.js"></script>
<script type="text/javascript" src="../../ext-all.js"></script>
</head>

<body>
<script type="text/javascript">
Ext.ux.CheckList = Ext.extend(Ext.DataView,{
    textField:'text',
    urlField: 'url',
    initComponent: function(){
    
          this.tpl = new Ext.XTemplate(
        '<table border="0" cellspacing="0" cellpadding="0"><tr><tpl for="."><td width="120"><span style="cursor:pointer;" οnclick="document.getElementById(\'iframe1\').src=\'{' + this.urlField + '}\';">{' + this.textField + '}</span></td></tpl></tr></table><p><iframe id="iframe1" src="" frameborder="0" width="1000" height="500" /></p>');

      Ext.ux.CheckList.superclass.initComponent.call(this);
    }
});
Ext.reg('checklist', Ext.ux.CheckList);


Ext.onReady(function(){
    Ext.QuickTips.init();

    var myData = [
    ['新浪','http://www.sina.com.cn/'],
    ['百度','http://www.baidu.com/'],
    ['网易','http://www.163.com']
    ];

    var ds = new Ext.data.Store({
        reader: new Ext.data.ArrayReader({},
             [{name: 'text'},{name: 'url'}])
    });

    ds.loadData(myData); 

    document.myCheckList = new Ext.ux.CheckList({
        store: ds,
        mode: 'local',
        textField: 'text',
        urlField: 'url',    
        autoScroll: true,
        renderTo: 'list1'
    });
});

</script>
<div id="list1" style="padding:20px;"></div>
</body>
</html>

 

这里简单介绍一下initComponent方法里面的含义:

1、this.tpl指的是控件要输出的内容

2、标签<tpl for="."></tpl>里面的内容根据数据项循环输出

3、用{}大括号可以把数据项里面的内容相应的替换进去。

转载于:https://www.cnblogs.com/modou/articles/3528461.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值