0

Sencha Touch のリスト項目に複数のアイコン ボタンを配置して、異なるイベントをリッスンできるかどうかは誰にもわかりませんか? もしそうなら、どうすればこれを達成できますか?

たとえば、人のリストがあり、メール、電話、各人の場所への地図のアイコンがあるとします。3 つの小さなアイコンを表示し、各アイコンをマップして 3 つの個別のアクションを実行できるようにしたいと考えています。

4

2 に答える 2

2

これは、ボタンの作成方法によって異なります。

ボタンが を使用した単純な HTML の場合、 List のitemtapイベントをitemTplリッスンし、引数を使用してどのボタンが押されたかを検出できます。カスタム属性または className を介してこれを行うことができます。event

myListItemTapListener: function(list, index, target, e) {
    var el = Ext.get(e.getTarget());
    if (el.hasClass('map')) {
        this.navigate(index);
    } else if(el.hasClass('email')) {
        this.email(index);
    } else if(el.hasClass('phone')) {
        this.phone(index);
    }
}

Ext.Buttonボタンがコンポーネント List 内の実際の である場合、コンポーネントを作成するときに各ボタンにリスナーを追加するだけです。これを行う方法の例は、Sencha DocsのDataView Guideにあります。

于 2013-01-23T20:53:59.970 に答える
0

コンポーネントDataViewが役立つ場合があります。あなたはこれを見ることができます[ガイド]: http: //docs.sencha.com/touch/2-0/# !/ guide / dataview-section-4

私は[デモ]を書きました:https ://github.com/hs3180/Sencha-Touch-Component-DataView、app / view /、

  • Main.js、useComponetsがtrueのデータビューコンポーネントであり、 defaultTypeを「demo.view.Item」に設定します。
  • Item.js、DataItem、各アイテムの表示コンテンツはパネルです(Card.js内)。datamapを使用して、レコード内の名前(ストア内)をuserName(demo.view.Card内)にリンクします。
  • Card.js、各人のためのパネル。ユーザー名のタイトルと3つのボタン。
于 2013-01-24T20:00:52.880 に答える