私はコンボボックス(ExtJs 6)を持っています。リストの各行に値と削除ボタンを表示したいと思います。 私はXTemplateを試しましたが、それ以上の値は選択されていないので、削除ボタンから関数を呼び出す方法はわかりません。 どうすればいいですか?どのような例でも分かります。ここでExtJSコンボボックス(テキストとボタン付き)
答えて
主な部品は以下のとおりです。
- ドロップダウン
- に、ボタンをユーザーがクリックした場合のストアから項目を削除するには、ドロップダウンにによってitemClickイベントをリッスンし、イベントを中止レンダリングするテンプレートを作成します。ボタン
https://fiddle.sencha.com/#fiddle/1j7r
var combo = Ext.create({
xtype: 'combo',
editable: false,
store: ['val1', 'val2', 'val3'],
listConfig: {
listeners: {
itemclick: function(list, record, item, index, e) {
if (e.target.tagName == 'BUTTON') {
e.preventDefault();
combo.store.removeAt(index);
}
}
}
},
tpl: '<ul class="x-list-plain"><tpl for="."><li role="option" class="x-boundlist-item">{field1}<button>x</button></li></tpl></ul>',
});
に
@Mr.George's answerは、トリックを行いますが、それはいくつかの問題に苦しんでいる:ちょうどドロップダウンボタンを表示するには、店舗の値を更新する
- 。代わりにテンプレートを使用する必要があります。これにより、コンボのテキストフィールドにHTMLが表示されます。
- HTML内のJavaScript。イベントハンドラを使用して代わりに
- それはグローバルIDに依存していることを意味する
Ext.getCmp
に依存、あなたが同じページ上の2つのインスタンス
nice ty @Juan Mendes –
は、あなたが)}
Ext.application({
name : 'Fiddle',
launch : function() {
Ext.create({
xtype:'window',
width:200,
height:200,
items:[{
xtype:'combo',
id:'myCombo',
editable:false,
store:['val1','val2','val3'],
listeners:{
afterrender:function(combo){
var records=combo.store.data.items;
records.forEach(function(rec,index){
var field= rec.get('field1');
rec.set('field1',
''+field+' <button onclick="'+
'Ext.getCmp(\'myCombo\').store.remove(Ext.getCmp(\'myCombo\').store.findRecord(\'field1\',\''+
field+'\'));">Delete</button>');
});
}
}
}]
}).show();
}
ことを行うことができますフィドルhttps://fiddle.sencha.com/#fiddle/1j77
です。
2016年にインラインJavaScriptを追加していると、それはうまくいきませんでした。また、 'Ext.getCmp( 'myCombo')を使うと、再利用可能(1ページに1つしかない)。もしこれが一緒にハックされ、その落とし穴を説明したら、私はそれを投票するだろう –
あなたが望むなら、extjsコンボボックスにボタンを追加しようとすることができます、私の意見ではこれは最も簡単な方法の一つです。他の方法は、domの特定のidにボタンコンポーネントを追加することで、問題はほぼ同じです。コンポーネントをTPLで追加すると、tplからviewcontrollerを取得できなくなります。 –
他の解決策で更新します –
- 1. コンボボックス(アイテムテンプレートのボタン付き)
- 2. ExtJs 4コンボボックスとチェックボックス
- 3. ボタンと画像(テキスト付き)
- 4. コンボボックスでExtjs 4
- 5. ExtJSのコンボボックスは
- 6. コンボボックスの代わりにページ区切り付きのExtJSグリッド
- 7. extjsグリッド内の各コンボボックスの条件付き値
- 8. WPF - テキストと画像付きのボタン
- 9. extJSコンボボックス。動的データロード
- 10. テキスト+ボタン付きのボタンの作成方法テキスト付きのボタンと同じサイズの
- 11. チェックボックス付きコンボボックス
- 12. ExtJS 4.1.1:マルチ選択コンボボックスのカスタム表示テキスト
- 13. ExtJSのコンボボックス私はFormPanelにコンボボックスを使用しようと
- 14. 現代のExtJSでMultiSelectコンボボックス
- 15. ExtJS 4 celleditorコンボボックス戻り値
- 16. コンボボックスによるExtJSページング
- 17. Extjs 4コンボボックスのデフォルト値
- 18. Extjsコンボボックス+テキストフィールドを作成
- 19. extjsコンボボックスの表示フィールドリモートストア
- 20. ExtJSのグリッド動的コンボボックス
- 21. コンボボックスのテキストをクリアするとき
- 22. タブのテキストの矢印ボタン付きアンドロイドタブレイアウト
- 23. テキスト付きExtjs 4グリッドアクションコラムを作成しますか?
- 24. 他のオプションとテキストボックス付き角型コンボボックス
- 25. パラメータ付きのextjs投稿
- 26. ExtJSのunpressボタン
- 27. Extjs、削除ボタン
- 28. ExtJSに:私はリストとコンボボックスに値のセットを持っているコンボボックス
- 29. ExtJS 3.3.0コンボボックスに値があるまで保存ボタンを無効にする
- 30. Extjsイベントを捕捉する(コンボボックス)
を持つことはできませんので、あなたは答えはあなたが理解するのに役立ちますので、試してみましたが何を示すべきですあなたが間違っていたところ –