javascript - ExtJS 4 菜单颜色选择器 (Ext.menu.ColorPicker) 中的 CustomColors 颜色

标签 javascript extjs extjs4 color-picker

感谢您查看此消息!

我的一个使用 Ext.menu.ColorPicker 的项目遇到问题 我不知道为什么(我希望这可能非常简单),但选择器根本不假设我需要它具有的自定义颜色!

这是一些示例代码,说明了我的问题:

Ext.onReady(function () {
var customColors = [
        'fa7166', 'cf2424', 'a01a1a', '7e3838', 'ca7609', 'f88015', 'eda12a', 'd5b816',
        'e281ca', 'bf53a4', '9d3283', '7a0f60', '542382', '7742a9', '8763ca', 'b586e2',
        '7399f9', '4e79e6', '2951b9', '133897', '1a5173', '1a699c', '3694b7', '64b9d9',
        'a8c67b', '83ad47', '2e8f0c', '176413', '0f4c30', '386651', '3ea987', '7bc3b5'
    ];

var picker = Ext.create('Ext.picker.Color');

picker.colors[0] = '556677';
picker.colors = customColors;

    var btn = Ext.create('Ext.Button', {
        menu: {
            xtype: 'colormenu',
            picker: picker,
            value: 'FFFFFF',
            handler: function (obj, rgb) {
                Ext.Msg.alert('border-color: ' + rgb.toString());
            } // handler
        }, // menu
        renderTo: Ext.getBody(),
        text: 'Menu Button'
    }).showMenu();
}); // onReady()

行:

picker.colors[0] = '556677';

工作完美,你可以看到,我可以更改数组的元素 0。

但这行:

picker.colors = customColors;

应该将整个新颜色数组分配给选择器,我不知道为什么,但它似乎不起作用。

我需要组件具有所有这些颜色,32 种颜色,而不是选择器上默认的 40 种默认颜色!

我应该怎么做?
提前致谢...

最佳答案

您是否使用了错误的小部件组合,您正在嵌入 Ext.menu.ColorPicker在另一个里面Ext.menu.Menu ,而不是你应该按原样使用 Ext.menu.ColorPicker ,然后你就可以开始了,就像这样

var customColors = ['fa7166', 'cf2424', ...];
var pickerMenu = Ext.create('Ext.menu.ColorPicker');
pickerMenu.picker.colors = customColors;

var btn = Ext.create('Ext.Button', {
    menu: pickerMenu, // menu
    renderTo: Ext.getBody(),
    text: 'Menu Button'
}).showMenu();

Here's适用于自定义颜色列表的代码的修改版本。希望能帮助解决您的问题。

关于javascript - ExtJS 4 菜单颜色选择器 (Ext.menu.ColorPicker) 中的 CustomColors 颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22426772/

相关文章:

javascript - 通过 jQuery 为将来创建的元素添加 CSS 规则

JavaScript 文件读取器 : Ensure variable is populated with multiple asynchronous file reads

extjs - 更新或重新加载 ExtJs ComboBox 的存储

javascript - ExtJS 4.2.2 组合框字段显示在窗口后面

javascript - ExtJS 面板有时会卡住

javascript - 为什么我的异常没有被捕获?

javascript - 如何在 jQuery 日期选择器中指定多个选项

javascript - 附加到表单的 Ext JS 搜索按钮

extjs - ExtJs 的未定义 Ext

javascript - 如何使用 ExtJS 4 中 Controller 的控制方法更改范围?