カスタムComboBoxコントロールを作成しようとしています。ExtJS - ComboBoxのカスタム構造を作成する
[<-] [ --------------- V ] [->]
これらのボタンは、「次へ」および「前」になり、ユーザーはすぐにドロップダウンメニューでオプションを切り替えることができます(:コントロールは、コンボボックス自体のいずれかの側にこのような何かを、ボタンを持っていますそれぞれ上下に移動する)。
私はComboBoxのdefaultAutoCreate
設定を上書きしようとしましたが、奇妙な動作が起こっています。ここで私はこれまで試したものです:
initComponent: function() {
// default ComboBox structure
var comboStructure = {
tag: 'span',
children: [
{ tag: 'a', cls: 'nav prev', html: 'Previous' },
{ tag: 'input', type: 'text', size: '24', autocomplete: 'off' },
{ tag: 'a', cls: 'nav next', html: 'Next' }
]
};
console.log(comboStructure);
var config = {
triggerAction: 'all',
lazyRender: true,
mode: 'local',
store: new Ext.data.ArrayStore({
fields: [
'myId',
'displayText'
],
data: [[1, 'Banner #1'], [2, 'Banner #2']]
}),
valueField: 'myId',
displayField: 'displayText',
defaultAutoCreate: comboStructure
};
Ext.apply(this, config);
IbwUi.controls.PreviewBannerSelectDropdown.superclass.initComponent(this);
}
comboStructureの第二「子」は、実際にコンボボックスのために初期化されるデフォルト値である(これは、すべてのカスタムクラス拡張コンボボックスの内側にある)、私が見てソースコードコードがエラーなしで動作しますが、コンボ自体のレンダリングを持ついくつかの奇妙な行動があります、ここを参照してください:
それはレンダリング時にコンボボックスのまわりで私のカスタム要素を追加する方法上の任意のアイデア?
私はこれを行うことができました。おそらくもっと簡単ですが、なぜこのソリューションがうまくいかないのか不思議です。私はComboBoxの "矢"がデフォルトの構造の一部ではないように見えることを知りました。 – dmackerman