ant-design/components/color-picker/demo/trigger.tsx

28 lines
686 B
TypeScript
Raw Normal View History

import React, { useMemo, useState } from 'react';
2023-05-28 15:15:28 +08:00
import { Button, ColorPicker, theme } from 'antd';
import type { Color } from 'antd/es/color-picker';
2023-05-28 15:15:28 +08:00
const Demo: React.FC = () => {
const { token } = theme.useToken();
const [color, setColor] = useState<Color | string>(token.colorPrimary);
const bgColor = useMemo<string>(
() => (typeof color === 'string' ? color : color.toHexString()),
[color],
);
2023-05-28 15:15:28 +08:00
const btnStyle: React.CSSProperties = {
2023-05-16 13:49:59 +08:00
backgroundColor: bgColor,
};
return (
<ColorPicker value={color} onChange={setColor}>
2023-05-28 15:15:28 +08:00
<Button type="primary" style={btnStyle}>
open
</Button>
</ColorPicker>
);
};
2023-05-28 15:15:28 +08:00
export default Demo;