Палитра цветов, расположенная внутри colormenu, не обновляется через пользовательский интерфейс

#extjs

#extjs

Вопрос:

Я поместил Ext.picker.Color внутри Ext.menu.ColorPicker элемента, который находится внутри tbar…

 {
    text: 'Choose a color',
    menu:{
        xtype: 'colormenu',//Ext.menu.ColorPicker
        picker:{
            xtype: 'colorpicker'//Ext.picker.Color
        }   
    }
}
  

Можно задать для него цвет программно с помощью этой строки:

this.down('colorpicker').value='FF0000';

но когда я меняю цвет через пользовательский интерфейс, значение не меняется. Поэтому, если я выполню эту строку

 var newColor=this.down('colorpicker').getValue();
  

После выбора нового цвета я по-прежнему получаю ‘FF0000’, даже если я нажал на синее поле (оно должно быть ‘0000FF’)

Ответ №1:

Из документов

Получите значение внутри события выбора colorpicker следующим образом:

 {
    xtype: 'colorpicker'
    listeners: {
        select: function (colorpicker, color) {
                // color comes as a variable
        }
}