利用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,
}
