0

任何人都可以对这个问题有所了解吗

我想在 Sencha Touch 中为 itemTpl 添加一个按钮。{} 中的键将替换为存储中的值。但是,是否也可以在模板中添加按钮?

例如,您在每个项目中列出带有删除按钮的最喜欢的音乐列表。

可能的 ?

4

1 回答 1

3

我不确定我们是否可以在 Sencha-2 中向 itemTpl 添加按钮,但我们肯定可以向 itemTpl 添加图像,然后我们可以执行各种操作(例如您想要删除的情况)。
这是代码:-

 //demo.js

 Ext.define("Stackoverflow.view.demo", {
 extend: "Ext.Container",
 requires:"Ext.dataview.List",
 alias: "widget.demo",

 config: {
 layout: {
    type: 'fit'
 },
 items: [
{
    xtype: "list",
    store: "store",
    itemId:"samplelist",
    loadingText: "Loading Notes...",
    emptyText: "<div class=\"notes-list-empty-text\">No notes found.</div>",
    onItemDisclosure: true,
    itemTpl:"<div class='x-button related-btn' btnType='related' style='border: none; background: url(\"a.png\") no-repeat;'></div>"+
               "<div class=\"list-item-title\">{title}</div>"
    grouped: true
}

],
listeners:
[
        {
        delegate: "#samplelist",
        event: "disclose",
        fn: "onDiscloseTap"
    }
 ]
 },    
  onDiscloseTap: function (list, record, target, index, evt, options) {

   this.fireEvent('ondisclosuretap', this, record);
  }
});

// 演示控制.js

                 Ext.define("Stackoverflow.controller.Democontrol", {
          extend: "Ext.app.Controller",
            config: {
            refs: {
                // We're going to lookup our views by xtype.
                Demo: "demo", 
                Demo1: "demo list",
                  },
            control: {
                Demo: { 
                       ondisclosuretap: "Disclosure", 
                 },
                Demo1: { 

                     itemtap:"imagetap" 

                }

            }
        },

         Disclosure: function (list, record,target,index,e,obj) {
           Ext.Msg.alert('','Disclosure Tap');

        },

          imagetap: function (dataview,index,list,record, tar, obj) { 
             tappedItem = tar.getTarget('div.x-button');
            btntype = tappedItem.getAttribute('btnType');
            if(btntype == 'related')
            {
            Ext.Msg.alert('','Image/Icon Tap');
            }
        },

        // Base Class functions.
        launch: function () {
            this.callParent(arguments);

         },
        init: function () {
            this.callParent(arguments);

        }
        });

//app.css

                .related-btn
           {
              width: 100px;
              height: 100px;
              position: absolute;
          bottom: 0.85em;
              right: 2.50em;
            -webkit-box-shadow: none;
           }

希望这会有所帮助。

于 2012-09-21T10:20:21.097 回答