私は新しいdataviewコンポーネントを試していますが、このSenchaの例を使用しています。
http://www.sencha.com/blog/dive-into-dataview-with-sencha-touch-2-beta-2/
KittensListItemで画像を削除しました。次に、ストアの値ではなく、「Eメール」、「Facebook」、「Twitter」という3つのボタンを追加します。ユーザーが各ボタンをクリックすると、各ボタンのそれぞれのストア値が表示されます。これはどのように達成できますか?
現在の画面は次のようになります。
Example.view.KittensListItem:
Ext.define('Example.view.KittensListItem'、{ 拡張:'Ext.dataview.component.DataItem'、 xtype:'contactslistitem'、 必要なもの:['Ext.Button'、'Ext.slider.Slider']、 構成:{ dataMap:{ getName:{setHtml:'name'}、 getSlider:{setValue:'かわいさ'}、 getEmail:{setHtml:'email'}、 getTwitter:{setHtml:'twitter'}、 getFacebook:{setHtml:'facebook'} }、 名前:{フレックス:1}、 スライダー:{フレックス:1}、 Eメール: { テキスト:'メール'、 スタイル:'フォントサイズ:12px;'、 フレックス:1 }、 フェイスブック: { テキスト:'Facebook1'、 スタイル:'フォントサイズ:12px;'、 フレックス:1 }、 ツイッター: { テキスト:'Twitter'、 スタイル:'フォントサイズ:12px;'、 フレックス:1 }、 レイアウト: { タイプ:'hbox'、 整列:'中央' } }、 applyName:function(config){return Ext.factory(config、Ext.Component、this.getName()); }、 updateName:function(newName、oldName){ if(newName){this.add(newName); } if(oldName){this.remove(oldName); } }、 applySlider:function(config){return Ext.factory(config、Ext.slider.Slider、this.getSlider()); }、 updateSlider:function(newSlider、oldSlider){ if(newSlider){this.add(newSlider); } if(oldSlider){this.remove(oldSlider); } }、 applyEmail:function(config){return Ext.factory(config、Ext.Button、this.getEmail()); }、 updateEmail:function(newEmailButton、oldEmailButton){ if(newEmailButton){this.add(newEmailButton); } if(oldEmailButton){this.remove(oldEmailButton); } }、 applyTwitter:function(config){return Ext.factory(config、Ext.Button、this.getTwitter()); }、 updateTwitter:function(newTwitterButton、oldTwitterButton){ if(newTwitterButton){this.add(newTwitterButton); } if(oldTwitterButton){this.remove(oldTwitterButton); } }、 applyFacebook:function(config){return Ext.factory(config、Ext.Button、this.getFacebook()); }、 updateFacebook:function(newFacebookButton、oldFacebookButton){ if(newFacebookButton){this.add(newFacebookButton); } if(oldFacebookButton){this.remove(oldFacebookButton); } } });
モデル:
Ext.define('Example.model.Kitten'、{ 拡張:'Ext.data.Model'、 構成:{ 田畑: [ "名前"、 "Eメール"、 "ツイッター"、 "フェイスブック"、 {名前: "かわいさ"、タイプ:'int'} ] } });
店:
Ext.define('Example.store.Kittens'、{ 拡張:'Ext.data.Store'、 必要なもの:['Example.model.Kitten']、 構成:{ モデル:'Example.model.Kitten'、 データ: [ {名前:'one'、メール:'email @ addr'、ツイッター:'@twitter'、フェイスブック:'フェイスブック...'、かわいらしさ:70}、 {名前:'two'、メール:'email @ addr'、ツイッター:'@twitter'、フェイスブック:'フェイスブック...'、かわいらしさ:90}、 {名前:'three'、メール:'email @ addr'、twitter:'@twitter'、facebook:'Facebook ...'、かわいさ:40} ] } });