空のアイテムをExtJSコンボボックスに追加するにはどうすればよいですか?
-
29-10-2019 - |
質問
Ext.form.ComboBoxにアイテムを追加して空にします(表示値は空白、アイテムの高さは通常どおり維持されます)。コンボボックスを構成するために以下の2つのリンクを参照しましたが、それでも空のアイテムが表示されません:
- http://www.ashlux.com/wordpress/2009/09/04/handling-empty-options-with-ext-js-combo-box/
- http://www.sencha.com/forum/showthread.php?52340-How-to-add-a-quot-blank-quot-entry-to-a-ComboBox >
これが私のコードです: ジェネラコディセタグプレ
コンボボックスストアのデータは、Ajaxリクエストの後に読み込まれます(つまり、データアイテムに3つのアイテム)。また、コンボボックスには3つのアイテムしかありません(予想どおり4つではありません)。 私の問題について何か考えがありますか?! どうもありがとうございました!
解決
後でコンボボックス値を追加するので、1つの空白値でストアを初期化してみませんか: ジェネラコディセタグプレ
後でstore.add(theRestOfThem)
を実行しても、その空白のタグコードは引き続き存在します。
ExtJS 4.2については、本日(2017年4月15日)に再検討する必要がありました:
最も簡単な方法は、上記のようにストアに空の文字列を含めることです。これは、ストアのロードリスナーを使用して行うこともできます。 ジェネラコディセタグプレ
次に、表示フィールドの後にtpl
を指定して、
構成をコンボボックスに追加します。
ジェネラコディセタグプレ
(OPの場合、表示フィールドはfullName
です)
他のヒント
最初に「空の」レコードを追加できます: ジェネラコディセタグプレ
});
コンポーネントの初期化時に、これを(コントローラーで)行うことができます: ジェネラコディセタグプレ
入力機能について: ジェネラコディセタグプレ
これは、コンボボックスに空白のフィールドを追加する方法です
Java Mapまたはその他のコレクションでは、次のようなキー値を入力します ジェネラコディセタグプレ
jsファイルでは、次のようになります:
コンボボックスのリスナー ジェネラコディセタグプレ
Ext 4.2.1(おそらく他のもの)では、コンボボックス構成に追加するだけです: ジェネラコディセタグプレ
ストアがインラインデータを使用している場合、store.load
は起動しません。より良い解決策があるかもしれませんが、私は最終的にcombobox.render
にストアレコードを挿入しました:
ジェネラコディセタグプレ