代码之家  ›  专栏  ›  技术社区  ›  zeke

Ext JS 6 colorfield UX-显示颜色而不是值

  •  1
  • zeke  · 技术社区  · 6 年前

    尝试使用颜色字段UX,默认情况下,在选择颜色后,它会在选择器中显示该颜色的十六进制值。我的用户不知道这意味着什么。。。如何将选择器的背景色设置为所选颜色(没有文本十六进制值)?谢谢

    fiddle

    1 回复  |  直到 6 年前
        1
  •  3
  •   Alexander    6 年前

    您无法轻松地从输入字段中删除该值,因为这会导致选择器和表单提交出现问题。但是,您可以同时调整文本颜色和背景颜色:

    listeners: {
        afterrender: function(cmp) {
            if(cmp.inputEl && cmp.inputEl.dom) {
                cmp.inputEl.dom.style.backgroundColor = "#" + cmp.getValue();
                cmp.inputEl.dom.style.color = "#" + cmp.getValue();
            }
        },
        change: function(cmp, nV) {
            if(cmp.inputEl && cmp.inputEl.dom) {
                cmp.inputEl.dom.style.backgroundColor = "#" + nV;
                cmp.inputEl.dom.style.color = "#" + nV;
            }
        }
    }
    

    这意味着,如果有人选择颜色字段中的文本,十六进制值仍然可见: