利用colorPicker插件在前端可以选择合适的颜色。在BJUI框架中,让datagrid也支持对应colorpicker的颜色支持。
Colorpicker.version = '2.0.0-beta';
BJUI部分问题
dialog的编辑是利用存储前端变化数据和原始行记录进行merge,得到新的记录。
现象
数据无法保存,
原因
colorpicker虽然让input的字段发生变化,但是没有触发change事件。
解决
在合适位置添加如下代码:
$el.trigger('change');
通用部分问题
初始值渲染颜色
依据初始值,渲染input的默认颜色。
var colorStr=$this.val();
$this.css('background-color', colorStr);
输入值实时渲染
由于绑定了keyup事件,输入是实时刷新的。如果输入错误的值和输入过程中,不渲染成黑色。
$this.on('changeColor', function(ev) {
var colorHex=ev.color.toHex()
console.log(colorHex)
if ((colorHex == "#000000" && colorHex.indexOf($this.val()) == -1 && $this.val() != "black") || ($this.val() == "")) {
colorHex = "#ffffff"
}
$this.css('background-color', colorHex)
})
代码学习
constructor的作用,其实没有太大作用,历史原因。
Color.prototype={
constructor: Color,
}