0

誰かがこの問題に光を当てることができますか

SenchaTouchの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);
  }
});

// Democontrol.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 に答える