sunmao-sdk
Version:
榫卯-开箱即用赋能-sdk
48 lines (45 loc) • 1.12 kB
JSX
import React from "react";
import ColorPicker from "rc-color-picker";
import Color from "color";
import { Input } from "antd";
import "rc-color-picker/assets/index.css";
export default function color(p) {
const { format } = p.schema;
const defaultColor = "#ffffff";
const onPickerChange = e => {
if (p.disabled || p.readOnly) return;
let { color, alpha } = e;
if (alpha !== 100) {
color = Color(color)
.alpha(alpha / 100)
.string();
}
p.onChange(p.name, color);
};
const onInputChange = e => {
p.onChange(p.name, e.target.value);
};
return (
<div className="fr-color-picker">
{
<ColorPicker
type={format}
animation="slide-up"
color={p.value || defaultColor}
onClose={onPickerChange}
/>
}
{p.readOnly ? (
<span>{p.value || defaultColor}</span>
) : (
<Input
style={{ width: "100%" }}
placeholder={defaultColor}
disabled={p.disabled}
value={p.value}
onChange={onInputChange}
/>
)}
</div>
);
}