From 4c9caf3828b22bf1d940b0f3a012a7d2f6f5b67a Mon Sep 17 00:00:00 2001 From: king <18310653075@163.com> Date: 星期二, 31 八月 2021 18:40:13 +0800 Subject: [PATCH] 2021-08-31 --- src/mob/colorsketch/index.jsx | 21 ++++++++++++++++++--- 1 files changed, 18 insertions(+), 3 deletions(-) diff --git a/src/mob/colorsketch/index.jsx b/src/mob/colorsketch/index.jsx index 4a92c0e..6070b13 100644 --- a/src/mob/colorsketch/index.jsx +++ b/src/mob/colorsketch/index.jsx @@ -20,6 +20,7 @@ } state = { color: '', + colors: [], allowClear: false } @@ -34,8 +35,22 @@ } else if (value) { initVal = value } + + let _colors = sessionStorage.getItem('app_colors') || [] + try { + _colors = JSON.parse(_colors) + } catch { + _colors = [] + } - this.setState({color: initVal, allowClear: allowClear === true}) + let colors = presetColors.map((item, i) => { + if (_colors[i] && _colors[i].linkurl && !presetColors.includes(_colors[i].linkurl)) { + return _colors[i].linkurl + } + return item + }) + + this.setState({color: initVal, allowClear: allowClear === true, colors}) } handleChange = (color) => { @@ -59,11 +74,11 @@ } render() { - const { color, allowClear } = this.state + const { color, allowClear, colors } = this.state return ( <div className="color-sketch-block"> <Popover content={ - <SketchPicker color={ color } presetColors={presetColors} onChange={ this.handleChange } /> + <SketchPicker color={ color } presetColors={colors} onChange={ this.handleChange } /> } overlayClassName="color-sketch-popover" placement="bottomRight" title="" trigger="click"> <div className="color-sketch-block-box"> <div className="color-sketch-block-inner" style={ {background: color} }></div> -- Gitblit v1.8.0