Ext.create('Ext.form.field.Picker', {
renderTo: Ext.getBody(),
id: 'colorpicker',
createPicker: function() {
return Ext.create('Ext.picker.Color', {
resizable: true,
floating: true,
select: function(selColor) {
Ext.getCmp('colorpicker').setValue("#" + selColor);
var x = Ext.getCmp('colorpicker').getValue();
alert(x);
Ext.getCmp('colorpicker').setFieldStyle('background-color:x ;background-image: none;');
}
});
}
});
上記のコード サンプルでは、 ExtJS 4.0.7 sencha docsEXt.form.field.Picker
に従ってcreate picker メソッドを実装してカラー ピッカーを作成しました。
最初の質問
フローティング構成を true に指定した場合にのみ、出力を取得できます (上記のサンプルで説明したように)。構成を削除するか false にすると、出力にカラー ピッカーが表示されないので、フローティング構成が true であるべき理由を誰でも説明できる理由は何ですか?
2 番目の質問
上記のサンプル コードを使用して、出力を取得していますが、ピッカー フィールドのドロップダウンをクリックするとカラー ピッカーのレンダリングに問題が発生しますが、ドロップダウンがフィールドの上またはページのどこかにカラー ピッカーが表示されることがあります。クリックしました。では、これを回避するにはどうすればよいでしょうか。ピッカードロップダウンがクリックされたときに下に表示したい。
3 番目の質問
選択した色の値でファイルされたピッカーの背景を適用したいので、次のコード行を追加しました。
Ext.getCmp('colorpicker')
.setFieldStyle('background-color:x ;background-image: none;');`
選択した色の値はどこx
にありますか (たとえば#000000
、カラー ピッカーから黒色を選択したときの色の値です)、テキスト フィールドに色を適用していません。
そのコード行でx
value を次のように置き換えると、次のようになります。#000000
Ext.getCmp('colorpicker')
.setFieldStyle('background-color:#000000 ;background-image: none;');
次に、フィールドの背景に黒色が表示されますが、色を選択した色に変更したいので、静的な色の値を指定できません。